1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
/** |
4
|
|
|
* Copyright © 2016-present Spryker Systems GmbH. All rights reserved. |
5
|
|
|
* Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file. |
6
|
|
|
*/ |
7
|
|
|
|
8
|
|
|
namespace SprykerFeature\Zed\SelfServicePortal\Persistence\Mapper; |
9
|
|
|
|
10
|
|
|
use Generated\Shared\Transfer\CompanyBusinessUnitTransfer; |
11
|
|
|
use Generated\Shared\Transfer\CompanyTransfer; |
12
|
|
|
use Generated\Shared\Transfer\FileTransfer; |
13
|
|
|
use Generated\Shared\Transfer\SspAssetIncludeTransfer; |
14
|
|
|
use Generated\Shared\Transfer\SspAssetTransfer; |
15
|
|
|
use Generated\Shared\Transfer\SspModelTransfer; |
16
|
|
|
use Orm\Zed\SelfServicePortal\Persistence\SpySspAsset; |
17
|
|
|
use Spryker\Service\UtilDateTime\UtilDateTimeServiceInterface; |
18
|
|
|
|
19
|
|
|
class SspAssetMapper |
20
|
|
|
{ |
21
|
|
|
public function __construct(protected UtilDateTimeServiceInterface $utilDateTimeService) |
22
|
|
|
{ |
23
|
|
|
} |
24
|
|
|
|
25
|
|
|
public function mapSspAssetTransferToSpySspAssetEntity( |
26
|
|
|
SspAssetTransfer $sspAssetTransfer, |
27
|
|
|
SpySspAsset $sspAssetEntity |
28
|
|
|
): SpySspAsset { |
29
|
|
|
$sspAssetEntity->fromArray($sspAssetTransfer->modifiedToArray()); |
30
|
|
|
|
31
|
|
|
$sspAssetEntity->setFkCompanyBusinessUnit($sspAssetTransfer->getCompanyBusinessUnit()?->getIdCompanyBusinessUnit()); |
32
|
|
|
|
33
|
|
|
$sspAssetEntity->setFkImageFile($sspAssetTransfer->getImage()?->getIdFile()); |
34
|
|
|
|
35
|
|
|
return $sspAssetEntity; |
36
|
|
|
} |
37
|
|
|
|
38
|
|
|
public function mapSpySspAssetEntityToSspAssetTransfer( |
39
|
|
|
SpySspAsset $spySspAssetEntity, |
40
|
|
|
SspAssetTransfer $sspAssetTransfer |
41
|
|
|
): SspAssetTransfer { |
42
|
|
|
$sspAssetTransfer->fromArray($spySspAssetEntity->toArray(), true); |
43
|
|
|
if ($spySspAssetEntity->getCreatedAt()) { |
44
|
|
|
/** |
45
|
|
|
* @var \DateTime $createdAt |
46
|
|
|
*/ |
47
|
|
|
$createdAt = $spySspAssetEntity->getCreatedAt(); |
48
|
|
|
$sspAssetTransfer->setCreatedDate($createdAt->format('Y-m-d H:i:s')); |
49
|
|
|
} |
50
|
|
|
|
51
|
|
|
if ($spySspAssetEntity->getFkImageFile()) { |
52
|
|
|
$sspAssetTransfer->setImage( |
53
|
|
|
(new FileTransfer())->setIdFile($spySspAssetEntity->getFkImageFile()), |
54
|
|
|
); |
55
|
|
|
} |
56
|
|
|
|
57
|
|
|
if ($spySspAssetEntity->getFkCompanyBusinessUnit()) { |
58
|
|
|
$sspAssetTransfer->setCompanyBusinessUnit( |
59
|
|
|
(new CompanyBusinessUnitTransfer()) |
60
|
|
|
->setIdCompanyBusinessUnit( |
61
|
|
|
$spySspAssetEntity->getFkCompanyBusinessUnit(), |
62
|
|
|
) |
63
|
|
|
->setFkCompany($spySspAssetEntity->getSpyCompanyBusinessUnit()?->getFkCompany()), |
64
|
|
|
); |
65
|
|
|
} |
66
|
|
|
|
67
|
|
|
return $sspAssetTransfer; |
68
|
|
|
} |
69
|
|
|
|
70
|
|
|
public function mapSpySspAssetEntityToSspAssetTransferIncludes( |
71
|
|
|
SpySspAsset $spySspAssetEntity, |
72
|
|
|
SspAssetTransfer $sspAssetTransfer, |
73
|
|
|
SspAssetIncludeTransfer $sspAssetIncludeTransfer |
74
|
|
|
): SspAssetTransfer { |
75
|
|
|
if ($sspAssetIncludeTransfer->getWithOwnerCompanyBusinessUnit() && $spySspAssetEntity->getSpyCompanyBusinessUnit()) { |
76
|
|
|
/** |
77
|
|
|
* @var \Orm\Zed\CompanyBusinessUnit\Persistence\SpyCompanyBusinessUnit $companyBusinessUnitEntity |
78
|
|
|
*/ |
79
|
|
|
$companyBusinessUnitEntity = $spySspAssetEntity->getSpyCompanyBusinessUnit(); |
80
|
|
|
|
81
|
|
|
$companyBusinessUnitTransfer = (new CompanyBusinessUnitTransfer())->fromArray($companyBusinessUnitEntity->toArray(), true); |
82
|
|
|
|
83
|
|
|
if ($companyBusinessUnitEntity->getCompany() !== null) { |
84
|
|
|
$companyTransfer = (new CompanyTransfer())->fromArray($companyBusinessUnitEntity->getCompany()->toArray(), true); |
85
|
|
|
$companyBusinessUnitTransfer->setCompany($companyTransfer); |
86
|
|
|
} |
87
|
|
|
|
88
|
|
|
$sspAssetTransfer->setCompanyBusinessUnit($companyBusinessUnitTransfer); |
89
|
|
|
} |
90
|
|
|
|
91
|
|
|
if ($sspAssetIncludeTransfer->getWithSspModels() && $spySspAssetEntity->getSpySspAssetToSspModels()->count()) { |
92
|
|
|
foreach ($spySspAssetEntity->getSpySspAssetToSspModels() as $sspAssetToSspModelEntity) { |
93
|
|
|
$sspAssetTransfer->getSspModels()->append( |
94
|
|
|
(new SspModelTransfer())->fromArray($sspAssetToSspModelEntity->getSpySspModel()->toArray(), true), |
95
|
|
|
); |
96
|
|
|
} |
97
|
|
|
} |
98
|
|
|
|
99
|
|
|
return $sspAssetTransfer; |
100
|
|
|
} |
101
|
|
|
} |
102
|
|
|
|