Your IP : 216.73.216.86


Current Path : /var/www/homesaver/www/bitrix/modules/sale/lib/exchange/integration/service/scenarios/
Upload File :
Current File : /var/www/homesaver/www/bitrix/modules/sale/lib/exchange/integration/service/scenarios/base.php

<?php
namespace Bitrix\Sale\Exchange\Integration\Service\Scenarios;


use Bitrix\Sale\Exchange\Integration\Entity\B24IntegrationRelationTable;
use Bitrix\Sale\Exchange\Integration\Relation;
use Bitrix\Sale\Exchange\Integration\Exception;
use Bitrix\Sale\Exchange\Integration\Service\Batchable;
use Bitrix\Sale\Exchange\Integration\CRM;

class Base
{
	static public function dealAddsRelation(array $params)
	{
		$deal = new Batchable\Deal();

		foreach ($params as $index=>$param)
		{
			if(CRM\EntityType::isDefined($param['OWNER_TYPE_ID']))
			{
				if($param['OWNER_TYPE_ID'] == $deal->getDstEntityTypeId())
				{
					static::addRelation(
						$deal->getSrcEntityTypeId(), $index,
						$deal->getDstEntityTypeId(), $param['OWNER_ID']);
				}
				else
				{
					throw new Exception\ScenariosException('OwnerTypeId is not Deal');
				}
			}
			else
			{
				throw new Exception\ScenariosException('OwnerTypeId UNDEFINED');
			}
		}
	}

	static protected function loadRelation($id, $srcEntityTypeId, $dstEntityTypeId)
	{
		$result = null;
		$item = B24IntegrationRelationTable::getRow(['filter'=>[
			'SRC_ENTITY_ID' => $id,
			'SRC_ENTITY_TYPE_ID' => $srcEntityTypeId,
			'DST_ENTITY_TYPE_ID' => $dstEntityTypeId]]);

		if(is_null($item) == false)
		{
			$result = Relation\Relation::createFromArray([

				'SRC_ENTITY_TYPE_ID'=>$item['SRC_ENTITY_TYPE_ID'],
				'SRC_ENTITY_ID'=>$item['SRC_ENTITY_ID'],
				'DST_ENTITY_TYPE_ID'=>$item['DST_ENTITY_TYPE_ID'],
				'DST_ENTITY_ID'=>$item['DST_ENTITY_ID']
			]);
		}
		return $result;
	}

	static protected function addRelation($sourceEntityTypeId, $sourceEntityId, $destinationEntityTypeId, $destinationEntityId)
	{
		$relation = new Relation\Relation(
			$sourceEntityTypeId,
			$sourceEntityId,
			$destinationEntityTypeId,
			$destinationEntityId);

		$relation->save();
	}
	//deleteRelation()
}