commercetools-sdk-php-v2
The commercetools platform, import-api and PHP sdks generated from our api reference.
Loading...
Searching...
No Matches
ProductDiscountDraftModel.php
1<?php
2
3declare(strict_types=1);
10
17use DateTimeImmutable;
18use stdClass;
19
24{
29 protected $name;
30
35 protected $key;
36
41 protected $description;
42
47 protected $value;
48
53 protected $predicate;
54
59 protected $sortOrder;
60
65 protected $isActive;
66
71 protected $validFrom;
72
77 protected $validUntil;
78
79
83 public function __construct(
84 ?LocalizedString $name = null,
85 ?string $key = null,
88 ?string $predicate = null,
89 ?string $sortOrder = null,
90 ?bool $isActive = null,
91 ?DateTimeImmutable $validFrom = null,
92 ?DateTimeImmutable $validUntil = null
93 ) {
94 $this->name = $name;
95 $this->key = $key;
96 $this->description = $description;
97 $this->value = $value;
98 $this->predicate = $predicate;
99 $this->sortOrder = $sortOrder;
100 $this->isActive = $isActive;
101 $this->validFrom = $validFrom;
102 $this->validUntil = $validUntil;
103 }
104
111 public function getName()
112 {
113 if (is_null($this->name)) {
115 $data = $this->raw(self::FIELD_NAME);
116 if (is_null($data)) {
117 return null;
118 }
119
120 $this->name = LocalizedStringModel::of($data);
121 }
122
123 return $this->name;
124 }
125
133 public function getKey()
134 {
135 if (is_null($this->key)) {
137 $data = $this->raw(self::FIELD_KEY);
138 if (is_null($data)) {
139 return null;
140 }
141 $this->key = (string) $data;
142 }
143
144 return $this->key;
145 }
146
153 public function getDescription()
154 {
155 if (is_null($this->description)) {
157 $data = $this->raw(self::FIELD_DESCRIPTION);
158 if (is_null($data)) {
159 return null;
160 }
161
162 $this->description = LocalizedStringModel::of($data);
163 }
164
165 return $this->description;
166 }
167
174 public function getValue()
175 {
176 if (is_null($this->value)) {
178 $data = $this->raw(self::FIELD_VALUE);
179 if (is_null($data)) {
180 return null;
181 }
183 $this->value = $className::of($data);
184 }
185
186 return $this->value;
187 }
188
195 public function getPredicate()
196 {
197 if (is_null($this->predicate)) {
199 $data = $this->raw(self::FIELD_PREDICATE);
200 if (is_null($data)) {
201 return null;
202 }
203 $this->predicate = (string) $data;
204 }
205
206 return $this->predicate;
207 }
208
216 public function getSortOrder()
217 {
218 if (is_null($this->sortOrder)) {
220 $data = $this->raw(self::FIELD_SORT_ORDER);
221 if (is_null($data)) {
222 return null;
223 }
224 $this->sortOrder = (string) $data;
225 }
226
227 return $this->sortOrder;
228 }
229
236 public function getIsActive()
237 {
238 if (is_null($this->isActive)) {
240 $data = $this->raw(self::FIELD_IS_ACTIVE);
241 if (is_null($data)) {
242 return null;
243 }
244 $this->isActive = (bool) $data;
245 }
246
247 return $this->isActive;
248 }
249
257 public function getValidFrom()
258 {
259 if (is_null($this->validFrom)) {
261 $data = $this->raw(self::FIELD_VALID_FROM);
262 if (is_null($data)) {
263 return null;
264 }
265 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
266 if (false === $data) {
267 return null;
268 }
269 $this->validFrom = $data;
270 }
271
272 return $this->validFrom;
273 }
274
282 public function getValidUntil()
283 {
284 if (is_null($this->validUntil)) {
286 $data = $this->raw(self::FIELD_VALID_UNTIL);
287 if (is_null($data)) {
288 return null;
289 }
290 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
291 if (false === $data) {
292 return null;
293 }
294 $this->validUntil = $data;
295 }
296
297 return $this->validUntil;
298 }
299
300
304 public function setName(?LocalizedString $name): void
305 {
306 $this->name = $name;
307 }
308
312 public function setKey(?string $key): void
313 {
314 $this->key = $key;
315 }
316
321 {
322 $this->description = $description;
323 }
324
329 {
330 $this->value = $value;
331 }
332
336 public function setPredicate(?string $predicate): void
337 {
338 $this->predicate = $predicate;
339 }
340
344 public function setSortOrder(?string $sortOrder): void
345 {
346 $this->sortOrder = $sortOrder;
347 }
348
352 public function setIsActive(?bool $isActive): void
353 {
354 $this->isActive = $isActive;
355 }
356
360 public function setValidFrom(?DateTimeImmutable $validFrom): void
361 {
362 $this->validFrom = $validFrom;
363 }
364
368 public function setValidUntil(?DateTimeImmutable $validUntil): void
369 {
370 $this->validUntil = $validUntil;
371 }
372
373
374 #[\ReturnTypeWillChange]
375 public function jsonSerialize()
376 {
377 $data = $this->toArray();
378 if (isset($data[ProductDiscountDraft::FIELD_VALID_FROM]) && $data[ProductDiscountDraft::FIELD_VALID_FROM] instanceof \DateTimeImmutable) {
379 $data[ProductDiscountDraft::FIELD_VALID_FROM] = $data[ProductDiscountDraft::FIELD_VALID_FROM]->setTimeZone(new \DateTimeZone('UTC'))->format('c');
380 }
381
382 if (isset($data[ProductDiscountDraft::FIELD_VALID_UNTIL]) && $data[ProductDiscountDraft::FIELD_VALID_UNTIL] instanceof \DateTimeImmutable) {
383 $data[ProductDiscountDraft::FIELD_VALID_UNTIL] = $data[ProductDiscountDraft::FIELD_VALID_UNTIL]->setTimeZone(new \DateTimeZone('UTC'))->format('c');
384 }
385 return (object) $data;
386 }
387}
__construct(?LocalizedString $name=null, ?string $key=null, ?LocalizedString $description=null, ?ProductDiscountValueDraft $value=null, ?string $predicate=null, ?string $sortOrder=null, ?bool $isActive=null, ?DateTimeImmutable $validFrom=null, ?DateTimeImmutable $validUntil=null)