. */ namespace SP\DataModel\Dto; use SP\DataModel\AccountHistoryData; use SP\DataModel\AccountSearchVData; use SP\DataModel\ItemData; /** * Class AccountAclDto * * @package SP\DataModel\Dto */ final class AccountAclDto { /** * @var int */ private $accountId; /** * @var int */ private $userId; /** * @var ItemData[] */ private $usersId; /** * @var int */ private $userGroupId; /** * @var ItemData[] */ private $userGroupsId; /** * @var int */ private $dateEdit; private function __construct() { } /** * @param AccountDetailsResponse $accountDetailsResponse * * @return AccountAclDto */ public static function makeFromAccount(AccountDetailsResponse $accountDetailsResponse) { $dto = new self(); $dto->accountId = $accountDetailsResponse->getId(); $dto->userId = $accountDetailsResponse->getAccountVData()->getUserId(); $dto->usersId = $accountDetailsResponse->getUsers(); $dto->userGroupId = $accountDetailsResponse->getAccountVData()->getUserGroupId(); $dto->userGroupsId = $accountDetailsResponse->getUserGroups(); $dto->dateEdit = strtotime($accountDetailsResponse->getAccountVData()->getDateEdit()); return $dto; } /** * @param AccountHistoryData $accountHistoryData * * @param array $users * @param array $userGroups * * @return AccountAclDto */ public static function makeFromAccountHistory(AccountHistoryData $accountHistoryData, array $users, array $userGroups) { $dto = new self(); $dto->accountId = $accountHistoryData->getId(); $dto->userId = $accountHistoryData->getUserId(); $dto->usersId = $users; $dto->userGroupId = $accountHistoryData->getUserGroupId(); $dto->userGroupsId = $userGroups; $dto->dateEdit = strtotime($accountHistoryData->getDateEdit()); return $dto; } /** * @param AccountSearchVData $accountSearchVData * * @param array $users * @param array $userGroups * * @return AccountAclDto */ public static function makeFromAccountSearch(AccountSearchVData $accountSearchVData, array $users, array $userGroups) { $dto = new self(); $dto->accountId = $accountSearchVData->getId(); $dto->userId = $accountSearchVData->getUserId(); $dto->usersId = $users; $dto->userGroupId = $accountSearchVData->getUserGroupId(); $dto->userGroupsId = $userGroups; $dto->dateEdit = strtotime($accountSearchVData->getDateEdit()); return $dto; } /** * @return int */ public function getUserId() { return $this->userId; } /** * @return ItemData[] */ public function getUsersId() { return $this->usersId; } /** * @return int */ public function getUserGroupId() { return $this->userGroupId; } /** * @return ItemData[] */ public function getUserGroupsId() { return $this->userGroupsId; } /** * @return int */ public function getDateEdit() { return $this->dateEdit; } /** * @return int */ public function getAccountId() { return $this->accountId; } }