3declare(strict_types=1);
182 ?
string $code =
null,
228 if (is_null($this->
id)) {
230 $data = $this->
raw(self::FIELD_ID);
231 if (is_null($data)) {
234 $this->
id = (string) $data;
248 if (is_null($this->version)) {
250 $data = $this->
raw(self::FIELD_VERSION);
251 if (is_null($data)) {
254 $this->version = (int) $data;
268 if (is_null($this->createdAt)) {
270 $data = $this->
raw(self::FIELD_CREATED_AT);
271 if (is_null($data)) {
274 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
275 if (
false === $data) {
278 $this->createdAt = $data;
292 if (is_null($this->lastModifiedAt)) {
294 $data = $this->
raw(self::FIELD_LAST_MODIFIED_AT);
295 if (is_null($data)) {
298 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
299 if (
false === $data) {
302 $this->lastModifiedAt = $data;
316 if (is_null($this->key)) {
318 $data = $this->
raw(self::FIELD_KEY);
319 if (is_null($data)) {
322 $this->key = (string) $data;
336 if (is_null($this->lastModifiedBy)) {
338 $data = $this->
raw(self::FIELD_LAST_MODIFIED_BY);
339 if (is_null($data)) {
343 $this->lastModifiedBy = LastModifiedByModel::of($data);
357 if (is_null($this->createdBy)) {
359 $data = $this->
raw(self::FIELD_CREATED_BY);
360 if (is_null($data)) {
364 $this->createdBy = CreatedByModel::of($data);
378 if (is_null($this->name)) {
380 $data = $this->
raw(self::FIELD_NAME);
381 if (is_null($data)) {
385 $this->name = LocalizedStringModel::of($data);
399 if (is_null($this->description)) {
401 $data = $this->
raw(self::FIELD_DESCRIPTION);
402 if (is_null($data)) {
406 $this->description = LocalizedStringModel::of($data);
420 if (is_null($this->code)) {
422 $data = $this->
raw(self::FIELD_CODE);
423 if (is_null($data)) {
426 $this->code = (string) $data;
440 if (is_null($this->cartDiscounts)) {
442 $data = $this->
raw(self::FIELD_CART_DISCOUNTS);
443 if (is_null($data)) {
446 $this->cartDiscounts = CartDiscountReferenceCollection::fromArray($data);
461 if (is_null($this->stores)) {
463 $data = $this->
raw(self::FIELD_STORES);
464 if (is_null($data)) {
467 $this->stores = StoreKeyReferenceCollection::fromArray($data);
481 if (is_null($this->cartPredicate)) {
483 $data = $this->
raw(self::FIELD_CART_PREDICATE);
484 if (is_null($data)) {
487 $this->cartPredicate = (string) $data;
501 if (is_null($this->isActive)) {
503 $data = $this->
raw(self::FIELD_IS_ACTIVE);
504 if (is_null($data)) {
507 $this->isActive = (bool) $data;
522 if (is_null($this->references)) {
524 $data = $this->
raw(self::FIELD_REFERENCES);
525 if (is_null($data)) {
528 $this->references = ReferenceCollection::fromArray($data);
545 if (is_null($this->maxApplications)) {
547 $data = $this->
raw(self::FIELD_MAX_APPLICATIONS);
548 if (is_null($data)) {
551 $this->maxApplications = (int) $data;
568 if (is_null($this->maxApplicationsPerCustomer)) {
570 $data = $this->
raw(self::FIELD_MAX_APPLICATIONS_PER_CUSTOMER);
571 if (is_null($data)) {
574 $this->maxApplicationsPerCustomer = (int) $data;
588 if (is_null($this->custom)) {
590 $data = $this->
raw(self::FIELD_CUSTOM);
591 if (is_null($data)) {
595 $this->custom = CustomFieldsModel::of($data);
609 if (is_null($this->groups)) {
611 $data = $this->
raw(self::FIELD_GROUPS);
612 if (is_null($data)) {
615 $this->groups = $data;
629 if (is_null($this->validFrom)) {
631 $data = $this->
raw(self::FIELD_VALID_FROM);
632 if (is_null($data)) {
635 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
636 if (
false === $data) {
639 $this->validFrom = $data;
653 if (is_null($this->validUntil)) {
655 $data = $this->
raw(self::FIELD_VALID_UNTIL);
656 if (is_null($data)) {
659 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
660 if (
false === $data) {
663 $this->validUntil = $data;
678 if (is_null($this->applicationVersion)) {
680 $data = $this->
raw(self::FIELD_APPLICATION_VERSION);
681 if (is_null($data)) {
684 $this->applicationVersion = (int) $data;
868 #[\ReturnTypeWillChange]
887 return (
object) $data;