commercetools-sdk-php-v2
The commercetools platform, import-api and PHP sdks generated from our api reference.
Loading...
Searching...
No Matches
ProductDiscountModel.php
1<?php
2
3declare(strict_types=1);
10
24use DateTimeImmutable;
25use stdClass;
26
31{
36 protected $id;
37
42 protected $version;
43
48 protected $createdAt;
49
54 protected $lastModifiedAt;
55
60 protected $lastModifiedBy;
61
66 protected $createdBy;
67
72 protected $name;
73
78 protected $key;
79
84 protected $description;
85
90 protected $value;
91
96 protected $predicate;
97
102 protected $sortOrder;
103
108 protected $isActive;
109
114 protected $references;
115
120 protected $validFrom;
121
126 protected $validUntil;
127
128
132 public function __construct(
133 ?string $id = null,
134 ?int $version = null,
135 ?DateTimeImmutable $createdAt = null,
136 ?DateTimeImmutable $lastModifiedAt = null,
138 ?CreatedBy $createdBy = null,
139 ?LocalizedString $name = null,
140 ?string $key = null,
143 ?string $predicate = null,
144 ?string $sortOrder = null,
145 ?bool $isActive = null,
147 ?DateTimeImmutable $validFrom = null,
148 ?DateTimeImmutable $validUntil = null
149 ) {
150 $this->id = $id;
151 $this->version = $version;
152 $this->createdAt = $createdAt;
153 $this->lastModifiedAt = $lastModifiedAt;
154 $this->lastModifiedBy = $lastModifiedBy;
155 $this->createdBy = $createdBy;
156 $this->name = $name;
157 $this->key = $key;
158 $this->description = $description;
159 $this->value = $value;
160 $this->predicate = $predicate;
161 $this->sortOrder = $sortOrder;
162 $this->isActive = $isActive;
163 $this->references = $references;
164 $this->validFrom = $validFrom;
165 $this->validUntil = $validUntil;
166 }
167
174 public function getId()
175 {
176 if (is_null($this->id)) {
178 $data = $this->raw(self::FIELD_ID);
179 if (is_null($data)) {
180 return null;
181 }
182 $this->id = (string) $data;
183 }
184
185 return $this->id;
186 }
187
194 public function getVersion()
195 {
196 if (is_null($this->version)) {
198 $data = $this->raw(self::FIELD_VERSION);
199 if (is_null($data)) {
200 return null;
201 }
202 $this->version = (int) $data;
203 }
204
205 return $this->version;
206 }
207
214 public function getCreatedAt()
215 {
216 if (is_null($this->createdAt)) {
218 $data = $this->raw(self::FIELD_CREATED_AT);
219 if (is_null($data)) {
220 return null;
221 }
222 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
223 if (false === $data) {
224 return null;
225 }
226 $this->createdAt = $data;
227 }
228
229 return $this->createdAt;
230 }
231
238 public function getLastModifiedAt()
239 {
240 if (is_null($this->lastModifiedAt)) {
242 $data = $this->raw(self::FIELD_LAST_MODIFIED_AT);
243 if (is_null($data)) {
244 return null;
245 }
246 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
247 if (false === $data) {
248 return null;
249 }
250 $this->lastModifiedAt = $data;
251 }
252
254 }
255
262 public function getLastModifiedBy()
263 {
264 if (is_null($this->lastModifiedBy)) {
266 $data = $this->raw(self::FIELD_LAST_MODIFIED_BY);
267 if (is_null($data)) {
268 return null;
269 }
270
271 $this->lastModifiedBy = LastModifiedByModel::of($data);
272 }
273
275 }
276
283 public function getCreatedBy()
284 {
285 if (is_null($this->createdBy)) {
287 $data = $this->raw(self::FIELD_CREATED_BY);
288 if (is_null($data)) {
289 return null;
290 }
291
292 $this->createdBy = CreatedByModel::of($data);
293 }
294
295 return $this->createdBy;
296 }
297
304 public function getName()
305 {
306 if (is_null($this->name)) {
308 $data = $this->raw(self::FIELD_NAME);
309 if (is_null($data)) {
310 return null;
311 }
312
313 $this->name = LocalizedStringModel::of($data);
314 }
315
316 return $this->name;
317 }
318
325 public function getKey()
326 {
327 if (is_null($this->key)) {
329 $data = $this->raw(self::FIELD_KEY);
330 if (is_null($data)) {
331 return null;
332 }
333 $this->key = (string) $data;
334 }
335
336 return $this->key;
337 }
338
345 public function getDescription()
346 {
347 if (is_null($this->description)) {
349 $data = $this->raw(self::FIELD_DESCRIPTION);
350 if (is_null($data)) {
351 return null;
352 }
353
354 $this->description = LocalizedStringModel::of($data);
355 }
356
357 return $this->description;
358 }
359
366 public function getValue()
367 {
368 if (is_null($this->value)) {
370 $data = $this->raw(self::FIELD_VALUE);
371 if (is_null($data)) {
372 return null;
373 }
375 $this->value = $className::of($data);
376 }
377
378 return $this->value;
379 }
380
387 public function getPredicate()
388 {
389 if (is_null($this->predicate)) {
391 $data = $this->raw(self::FIELD_PREDICATE);
392 if (is_null($data)) {
393 return null;
394 }
395 $this->predicate = (string) $data;
396 }
397
398 return $this->predicate;
399 }
400
408 public function getSortOrder()
409 {
410 if (is_null($this->sortOrder)) {
412 $data = $this->raw(self::FIELD_SORT_ORDER);
413 if (is_null($data)) {
414 return null;
415 }
416 $this->sortOrder = (string) $data;
417 }
418
419 return $this->sortOrder;
420 }
421
428 public function getIsActive()
429 {
430 if (is_null($this->isActive)) {
432 $data = $this->raw(self::FIELD_IS_ACTIVE);
433 if (is_null($data)) {
434 return null;
435 }
436 $this->isActive = (bool) $data;
437 }
438
439 return $this->isActive;
440 }
441
449 public function getReferences()
450 {
451 if (is_null($this->references)) {
453 $data = $this->raw(self::FIELD_REFERENCES);
454 if (is_null($data)) {
455 return null;
456 }
457 $this->references = ReferenceCollection::fromArray($data);
458 }
459
460 return $this->references;
461 }
462
470 public function getValidFrom()
471 {
472 if (is_null($this->validFrom)) {
474 $data = $this->raw(self::FIELD_VALID_FROM);
475 if (is_null($data)) {
476 return null;
477 }
478 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
479 if (false === $data) {
480 return null;
481 }
482 $this->validFrom = $data;
483 }
484
485 return $this->validFrom;
486 }
487
495 public function getValidUntil()
496 {
497 if (is_null($this->validUntil)) {
499 $data = $this->raw(self::FIELD_VALID_UNTIL);
500 if (is_null($data)) {
501 return null;
502 }
503 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
504 if (false === $data) {
505 return null;
506 }
507 $this->validUntil = $data;
508 }
509
510 return $this->validUntil;
511 }
512
513
517 public function setId(?string $id): void
518 {
519 $this->id = $id;
520 }
521
525 public function setVersion(?int $version): void
526 {
527 $this->version = $version;
528 }
529
533 public function setCreatedAt(?DateTimeImmutable $createdAt): void
534 {
535 $this->createdAt = $createdAt;
536 }
537
541 public function setLastModifiedAt(?DateTimeImmutable $lastModifiedAt): void
542 {
543 $this->lastModifiedAt = $lastModifiedAt;
544 }
545
550 {
551 $this->lastModifiedBy = $lastModifiedBy;
552 }
553
557 public function setCreatedBy(?CreatedBy $createdBy): void
558 {
559 $this->createdBy = $createdBy;
560 }
561
565 public function setName(?LocalizedString $name): void
566 {
567 $this->name = $name;
568 }
569
573 public function setKey(?string $key): void
574 {
575 $this->key = $key;
576 }
577
582 {
583 $this->description = $description;
584 }
585
589 public function setValue(?ProductDiscountValue $value): void
590 {
591 $this->value = $value;
592 }
593
597 public function setPredicate(?string $predicate): void
598 {
599 $this->predicate = $predicate;
600 }
601
605 public function setSortOrder(?string $sortOrder): void
606 {
607 $this->sortOrder = $sortOrder;
608 }
609
613 public function setIsActive(?bool $isActive): void
614 {
615 $this->isActive = $isActive;
616 }
617
622 {
623 $this->references = $references;
624 }
625
629 public function setValidFrom(?DateTimeImmutable $validFrom): void
630 {
631 $this->validFrom = $validFrom;
632 }
633
637 public function setValidUntil(?DateTimeImmutable $validUntil): void
638 {
639 $this->validUntil = $validUntil;
640 }
641
642
643 #[\ReturnTypeWillChange]
644 public function jsonSerialize()
645 {
646 $data = $this->toArray();
647 if (isset($data[ProductDiscount::FIELD_CREATED_AT]) && $data[ProductDiscount::FIELD_CREATED_AT] instanceof \DateTimeImmutable) {
648 $data[ProductDiscount::FIELD_CREATED_AT] = $data[ProductDiscount::FIELD_CREATED_AT]->setTimeZone(new \DateTimeZone('UTC'))->format('c');
649 }
650
651 if (isset($data[ProductDiscount::FIELD_LAST_MODIFIED_AT]) && $data[ProductDiscount::FIELD_LAST_MODIFIED_AT] instanceof \DateTimeImmutable) {
652 $data[ProductDiscount::FIELD_LAST_MODIFIED_AT] = $data[ProductDiscount::FIELD_LAST_MODIFIED_AT]->setTimeZone(new \DateTimeZone('UTC'))->format('c');
653 }
654
655 if (isset($data[ProductDiscount::FIELD_VALID_FROM]) && $data[ProductDiscount::FIELD_VALID_FROM] instanceof \DateTimeImmutable) {
656 $data[ProductDiscount::FIELD_VALID_FROM] = $data[ProductDiscount::FIELD_VALID_FROM]->setTimeZone(new \DateTimeZone('UTC'))->format('c');
657 }
658
659 if (isset($data[ProductDiscount::FIELD_VALID_UNTIL]) && $data[ProductDiscount::FIELD_VALID_UNTIL] instanceof \DateTimeImmutable) {
660 $data[ProductDiscount::FIELD_VALID_UNTIL] = $data[ProductDiscount::FIELD_VALID_UNTIL]->setTimeZone(new \DateTimeZone('UTC'))->format('c');
661 }
662 return (object) $data;
663 }
664}
__construct(?string $id=null, ?int $version=null, ?DateTimeImmutable $createdAt=null, ?DateTimeImmutable $lastModifiedAt=null, ?LastModifiedBy $lastModifiedBy=null, ?CreatedBy $createdBy=null, ?LocalizedString $name=null, ?string $key=null, ?LocalizedString $description=null, ?ProductDiscountValue $value=null, ?string $predicate=null, ?string $sortOrder=null, ?bool $isActive=null, ?ReferenceCollection $references=null, ?DateTimeImmutable $validFrom=null, ?DateTimeImmutable $validUntil=null)