%PDF- %PDF-
| Direktori : /home/bitrix/www/bitrix/modules/sale/lib/exchange/ |
| Current File : /home/bitrix/www/bitrix/modules/sale/lib/exchange/loggertrait.php |
<?php
namespace Bitrix\Sale\Exchange;
use Bitrix\Main\NotImplementedException;
use Bitrix\Sale\Exchange\Entity\EntityImport;
use Bitrix\Sale\Exchange\Entity\OrderImport;
use Bitrix\Sale\Result;
trait LoggerTrait
{
/** @var $rawData null */
protected $rawData;
/**
* @param null $rawData
*/
public function setRawData($rawData)
{
$this->rawData = $rawData;
}
/**
* @return null
*/
public function getRawData()
{
return $this->rawData;
}
/**
* @return string
*/
abstract public function getDirectionType();
/**
* @param ImportBase[] $items
* @return Result
*/
protected function loggerEntities(array $items)
{
$result = new Result();
foreach ($items as $item)
{
if($item->hasLogging())
{
$logger = $item->getLogger();
$logger->setField('ENTITY_ID', $item->getId());
$logger->setField('ENTITY_TYPE_ID', $item->getOwnerTypeId());
$logger->setField('XML_ID', $item->getExternalId());
$logger->setField('DIRECTION', $this->getDirectionType());
$logger->save();
}
}
return $result;
}
/**
* @param ImportBase[] $items
* @param OrderImport $orderItem
* @return Result
*/
protected function loggerEntitiesPackage(array $items, OrderImport $orderItem)
{
$xmlStreem = $this->getRawData();
foreach ($items as $item)
{
if($item->hasLogging())
{
$logger = $item->getLogger();
if($item instanceof OrderImport)
{
$logger->setField('MESSAGE', $xmlStreem);
$logger->setField('PARENT_ID', $orderItem->getId());
$logger->setField('MARKED', $item->isMarked()?'Y':'N');
$logger->setField('ENTITY_DATE_UPDATE', $item->getField('TRAITS')['DATE_UPDATE']);
}
else
{
if($item instanceof EntityImport)
{
$logger->setField('PARENT_ID', $item->getParentEntity()->getId());
$logger->setField('OWNER_ENTITY_ID', $orderItem->getId());
$logger->setField('MARKED', $item->isMarked()?'Y':'N');
}
else
{
$logger->setField('PARENT_ID', $orderItem->getId());
}
}
}
}
return $this->loggerEntities($items);
}
}