Initial xentral_oss_20.3.c9ffacf
This commit is contained in:
@@ -0,0 +1,119 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Xentral\Modules\FiskalyApi\Data\CashPointClosing;
|
||||
|
||||
class CashPointClosingTransaction
|
||||
{
|
||||
/** @var TransactionHead $head */
|
||||
private $head;
|
||||
|
||||
/** @var TransactionData $data */
|
||||
private $data;
|
||||
|
||||
/** @var TransactionSecurity $security */
|
||||
private $security;
|
||||
|
||||
/**
|
||||
* CashPointClosingTransaction constructor.
|
||||
*
|
||||
* @param TransactionHead $head
|
||||
* @param TransactionData $data
|
||||
* @param TransactionSecurity $security
|
||||
*/
|
||||
public function __construct(TransactionHead $head, TransactionData $data, TransactionSecurity $security)
|
||||
{
|
||||
$this->setHead($head);
|
||||
$this->setData($data);
|
||||
$this->setSecurity($security);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $apiResult
|
||||
*
|
||||
* @return static
|
||||
*/
|
||||
public static function fromApiResult(object $apiResult): self
|
||||
{
|
||||
return new self(
|
||||
TransactionHead::fromApiResult($apiResult->head),
|
||||
TransactionData::fromApiResult($apiResult->data),
|
||||
TransactionSecurity::fromApiResult($apiResult->security)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $dbState
|
||||
*
|
||||
* @return static
|
||||
*/
|
||||
public static function fromDbState(array $dbState): self
|
||||
{
|
||||
return new self(
|
||||
TransactionHead::fromDbState($dbState['head']),
|
||||
TransactionData::fromDbState($dbState['data']),
|
||||
TransactionSecurity::fromDbState($dbState['security'])
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public function toArray(): array
|
||||
{
|
||||
return [
|
||||
'head' => $this->getHead()->toArray(),
|
||||
'data' => $this->getData()->toArray(),
|
||||
'security' => $this->getSecurity()->toArray(),
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* @return TransactionHead
|
||||
*/
|
||||
public function getHead(): TransactionHead
|
||||
{
|
||||
return TransactionHead::fromDbState($this->head->toArray());
|
||||
}
|
||||
|
||||
/**
|
||||
* @param TransactionHead $head
|
||||
*/
|
||||
public function setHead(TransactionHead $head): void
|
||||
{
|
||||
$this->head = TransactionHead::fromDbState($head->toArray());
|
||||
}
|
||||
|
||||
/**
|
||||
* @return TransactionData
|
||||
*/
|
||||
public function getData(): TransactionData
|
||||
{
|
||||
return TransactionData::fromDbState($this->data->toArray());
|
||||
}
|
||||
|
||||
/**
|
||||
* @param TransactionData $data
|
||||
*/
|
||||
public function setData(TransactionData $data): void
|
||||
{
|
||||
$this->data = TransactionData::fromDbState($data->toArray());
|
||||
}
|
||||
|
||||
/**
|
||||
* @return TransactionSecurity
|
||||
*/
|
||||
public function getSecurity(): TransactionSecurity
|
||||
{
|
||||
return TransactionSecurity::fromDbState($this->security->toArray());
|
||||
}
|
||||
|
||||
/**
|
||||
* @param TransactionSecurity $security
|
||||
*/
|
||||
public function setSecurity(TransactionSecurity $security): void
|
||||
{
|
||||
$this->security = TransactionSecurity::fromDbState($security->toArray());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user