52 lines
1.2 KiB
PHP
52 lines
1.2 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @category Integration
|
|
* @package Intaro\RetailCrm\Repository
|
|
* @author RetailCRM <integration@retailcrm.ru>
|
|
* @license MIT
|
|
* @link http://retailcrm.ru
|
|
* @see http://retailcrm.ru/docs
|
|
*/
|
|
|
|
namespace Intaro\RetailCrm\Repository;
|
|
|
|
use Bitrix\Sale\FuserTable;
|
|
use Intaro\RetailCrm\Model\Bitrix\Fuser;
|
|
use Bitrix\Main\ORM\Objectify\EntityObject;
|
|
|
|
/**
|
|
* Class FuserRepository
|
|
*
|
|
* @package Intaro\RetailCrm\Repository
|
|
*/
|
|
class FuserRepository extends AbstractRepository
|
|
{
|
|
/**
|
|
* @param int $id
|
|
*
|
|
* @return Fuser|null
|
|
* @throws \Bitrix\Main\ArgumentException
|
|
* @throws \Bitrix\Main\ObjectPropertyException
|
|
* @throws \Bitrix\Main\SystemException
|
|
*/
|
|
public static function getById(int $id): ?Fuser
|
|
{
|
|
return static::getWrapped(FuserTable::getByPrimary($id)->fetchObject());
|
|
}
|
|
|
|
/**
|
|
* @param \Bitrix\Main\ORM\Objectify\EntityObject|null $entityObject
|
|
*
|
|
* @return \Intaro\RetailCrm\Model\Bitrix\Fuser|null
|
|
*/
|
|
private static function getWrapped(?EntityObject $entityObject): ?Fuser
|
|
{
|
|
if (null === $entityObject) {
|
|
return null;
|
|
}
|
|
|
|
return new Fuser($entityObject);
|
|
}
|
|
}
|