1 | <?php |
||
21 | class LocationMapper |
||
22 | { |
||
23 | /** |
||
24 | * @var LocationObject |
||
25 | */ |
||
26 | public $locationObject; |
||
27 | |||
28 | /** |
||
29 | * @param LocationObject $locationObject |
||
30 | */ |
||
31 | 15 | public function __construct(LocationObject $locationObject) |
|
35 | |||
36 | 14 | public function locationToObject(Location $location) |
|
53 | |||
54 | /** |
||
55 | * @param LocationCreateStruct $createStruct |
||
56 | */ |
||
57 | 7 | public function mapObjectToCreateStruct(LocationCreateStruct $createStruct) |
|
58 | { |
||
59 | // Name collection (ez => transfer) |
||
60 | $keys = array( |
||
61 | 7 | 'remoteId' => 'remote_id', |
|
62 | 7 | 'hidden' => 'hidden', |
|
63 | 7 | 'priority' => 'priority', |
|
64 | 7 | 'sortField' => 'sort_field', |
|
65 | 7 | 'sortOrder' => 'sort_order', |
|
66 | 7 | ); |
|
67 | |||
68 | 7 | $this->arrayToStruct($createStruct, $keys); |
|
69 | |||
70 | 7 | $this->callStruct($createStruct); |
|
71 | 7 | } |
|
72 | |||
73 | /** |
||
74 | * @param LocationUpdateStruct $updateStruct |
||
75 | */ |
||
76 | 13 | public function mapObjectToUpdateStruct(LocationUpdateStruct $updateStruct) |
|
77 | { |
||
78 | // Name collection (ez => transfer) |
||
79 | $keys = array( |
||
80 | 13 | 'remoteId' => 'remote_id', |
|
81 | 13 | 'priority' => 'priority', |
|
82 | 13 | 'sortField' => 'sort_field', |
|
83 | 13 | 'sortOrder' => 'sort_order', |
|
84 | 13 | ); |
|
85 | |||
86 | 13 | $this->arrayToStruct($updateStruct, $keys); |
|
87 | |||
88 | 13 | $this->callStruct($updateStruct); |
|
89 | 13 | } |
|
90 | |||
91 | /** |
||
92 | * @param LocationCreateStruct|LocationUpdateStruct $struct |
||
93 | * @param array $keys |
||
94 | */ |
||
95 | 15 | private function arrayToStruct($struct, $keys) |
|
96 | { |
||
97 | 15 | foreach ($keys as $ezKey => $transferKey) { |
|
98 | 15 | if (isset($this->locationObject->data[$transferKey])) { |
|
99 | 12 | $struct->$ezKey = $this->locationObject->data[$transferKey]; |
|
100 | 12 | } |
|
101 | 15 | } |
|
102 | 15 | } |
|
103 | |||
104 | /** |
||
105 | * @param LocationCreateStruct|LocationUpdateStruct $struct |
||
106 | */ |
||
107 | 15 | private function callStruct($struct) |
|
114 | } |
||
115 |