3declare(strict_types=1);
373 if (is_null($this->
id)) {
375 $data = $this->
raw(self::FIELD_ID);
376 if (is_null($data)) {
379 $this->
id = (string) $data;
393 if (is_null($this->version)) {
395 $data = $this->
raw(self::FIELD_VERSION);
396 if (is_null($data)) {
399 $this->version = (int) $data;
413 if (is_null($this->createdAt)) {
415 $data = $this->
raw(self::FIELD_CREATED_AT);
416 if (is_null($data)) {
419 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
420 if (
false === $data) {
423 $this->createdAt = $data;
437 if (is_null($this->lastModifiedAt)) {
439 $data = $this->
raw(self::FIELD_LAST_MODIFIED_AT);
440 if (is_null($data)) {
443 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
444 if (
false === $data) {
447 $this->lastModifiedAt = $data;
461 if (is_null($this->key)) {
463 $data = $this->
raw(self::FIELD_KEY);
464 if (is_null($data)) {
467 $this->key = (string) $data;
481 if (is_null($this->lastModifiedBy)) {
483 $data = $this->
raw(self::FIELD_LAST_MODIFIED_BY);
484 if (is_null($data)) {
488 $this->lastModifiedBy = LastModifiedByModel::of($data);
502 if (is_null($this->createdBy)) {
504 $data = $this->
raw(self::FIELD_CREATED_BY);
505 if (is_null($data)) {
509 $this->createdBy = CreatedByModel::of($data);
523 if (is_null($this->quoteRequest)) {
525 $data = $this->
raw(self::FIELD_QUOTE_REQUEST);
526 if (is_null($data)) {
530 $this->quoteRequest = QuoteRequestReferenceModel::of($data);
544 if (is_null($this->stagedQuote)) {
546 $data = $this->
raw(self::FIELD_STAGED_QUOTE);
547 if (is_null($data)) {
551 $this->stagedQuote = StagedQuoteReferenceModel::of($data);
565 if (is_null($this->customer)) {
567 $data = $this->
raw(self::FIELD_CUSTOMER);
568 if (is_null($data)) {
572 $this->customer = CustomerReferenceModel::of($data);
588 if (is_null($this->customerGroup)) {
590 $data = $this->
raw(self::FIELD_CUSTOMER_GROUP);
591 if (is_null($data)) {
595 $this->customerGroup = CustomerGroupReferenceModel::of($data);
609 if (is_null($this->validTo)) {
611 $data = $this->
raw(self::FIELD_VALID_TO);
612 if (is_null($data)) {
615 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
616 if (
false === $data) {
619 $this->validTo = $data;
633 if (is_null($this->sellerComment)) {
635 $data = $this->
raw(self::FIELD_SELLER_COMMENT);
636 if (is_null($data)) {
639 $this->sellerComment = (string) $data;
653 if (is_null($this->buyerComment)) {
655 $data = $this->
raw(self::FIELD_BUYER_COMMENT);
656 if (is_null($data)) {
659 $this->buyerComment = (string) $data;
673 if (is_null($this->store)) {
675 $data = $this->
raw(self::FIELD_STORE);
676 if (is_null($data)) {
680 $this->store = StoreKeyReferenceModel::of($data);
694 if (is_null($this->lineItems)) {
696 $data = $this->
raw(self::FIELD_LINE_ITEMS);
697 if (is_null($data)) {
700 $this->lineItems = LineItemCollection::fromArray($data);
714 if (is_null($this->customLineItems)) {
716 $data = $this->
raw(self::FIELD_CUSTOM_LINE_ITEMS);
717 if (is_null($data)) {
720 $this->customLineItems = CustomLineItemCollection::fromArray($data);
735 if (is_null($this->totalPrice)) {
737 $data = $this->
raw(self::FIELD_TOTAL_PRICE);
738 if (is_null($data)) {
741 $className = TypedMoneyModel::resolveDiscriminatorClass($data);
742 $this->totalPrice = $className::of($data);
758 if (is_null($this->taxedPrice)) {
760 $data = $this->
raw(self::FIELD_TAXED_PRICE);
761 if (is_null($data)) {
765 $this->taxedPrice = TaxedPriceModel::of($data);
780 if (is_null($this->shippingAddress)) {
782 $data = $this->
raw(self::FIELD_SHIPPING_ADDRESS);
783 if (is_null($data)) {
787 $this->shippingAddress = AddressModel::of($data);
801 if (is_null($this->billingAddress)) {
803 $data = $this->
raw(self::FIELD_BILLING_ADDRESS);
804 if (is_null($data)) {
808 $this->billingAddress = AddressModel::of($data);
822 if (is_null($this->inventoryMode)) {
824 $data = $this->
raw(self::FIELD_INVENTORY_MODE);
825 if (is_null($data)) {
828 $this->inventoryMode = (string) $data;
842 if (is_null($this->taxMode)) {
844 $data = $this->
raw(self::FIELD_TAX_MODE);
845 if (is_null($data)) {
848 $this->taxMode = (string) $data;
862 if (is_null($this->priceRoundingMode)) {
864 $data = $this->
raw(self::FIELD_PRICE_ROUNDING_MODE);
865 if (is_null($data)) {
868 $this->priceRoundingMode = (string) $data;
882 if (is_null($this->taxRoundingMode)) {
884 $data = $this->
raw(self::FIELD_TAX_ROUNDING_MODE);
885 if (is_null($data)) {
888 $this->taxRoundingMode = (string) $data;
902 if (is_null($this->taxCalculationMode)) {
904 $data = $this->
raw(self::FIELD_TAX_CALCULATION_MODE);
905 if (is_null($data)) {
908 $this->taxCalculationMode = (string) $data;
922 if (is_null($this->country)) {
924 $data = $this->
raw(self::FIELD_COUNTRY);
925 if (is_null($data)) {
928 $this->country = (string) $data;
942 if (is_null($this->shippingInfo)) {
944 $data = $this->
raw(self::FIELD_SHIPPING_INFO);
945 if (is_null($data)) {
949 $this->shippingInfo = ShippingInfoModel::of($data);
963 if (is_null($this->paymentInfo)) {
965 $data = $this->
raw(self::FIELD_PAYMENT_INFO);
966 if (is_null($data)) {
970 $this->paymentInfo = PaymentInfoModel::of($data);
984 if (is_null($this->shippingRateInput)) {
986 $data = $this->
raw(self::FIELD_SHIPPING_RATE_INPUT);
987 if (is_null($data)) {
990 $className = ShippingRateInputModel::resolveDiscriminatorClass($data);
991 $this->shippingRateInput = $className::of($data);
1008 if (is_null($this->itemShippingAddresses)) {
1010 $data = $this->
raw(self::FIELD_ITEM_SHIPPING_ADDRESSES);
1011 if (is_null($data)) {
1014 $this->itemShippingAddresses = AddressCollection::fromArray($data);
1028 if (is_null($this->directDiscounts)) {
1030 $data = $this->
raw(self::FIELD_DIRECT_DISCOUNTS);
1031 if (is_null($data)) {
1034 $this->directDiscounts = DirectDiscountCollection::fromArray($data);
1048 if (is_null($this->custom)) {
1050 $data = $this->
raw(self::FIELD_CUSTOM);
1051 if (is_null($data)) {
1055 $this->custom = CustomFieldsModel::of($data);
1069 if (is_null($this->quoteState)) {
1071 $data = $this->
raw(self::FIELD_QUOTE_STATE);
1072 if (is_null($data)) {
1075 $this->quoteState = (string) $data;
1090 if (is_null($this->state)) {
1092 $data = $this->
raw(self::FIELD_STATE);
1093 if (is_null($data)) {
1097 $this->state = StateReferenceModel::of($data);
1112 if (is_null($this->purchaseOrderNumber)) {
1114 $data = $this->
raw(self::FIELD_PURCHASE_ORDER_NUMBER);
1115 if (is_null($data)) {
1118 $this->purchaseOrderNumber = (string) $data;
1132 if (is_null($this->businessUnit)) {
1134 $data = $this->
raw(self::FIELD_BUSINESS_UNIT);
1135 if (is_null($data)) {
1139 $this->businessUnit = BusinessUnitKeyReferenceModel::of($data);
1443 #[\ReturnTypeWillChange]
1458 return (
object) $data;