3declare(strict_types=1);
381 if (is_null($this->
id)) {
383 $data = $this->
raw(self::FIELD_ID);
384 if (is_null($data)) {
387 $this->
id = (string) $data;
401 if (is_null($this->version)) {
403 $data = $this->
raw(self::FIELD_VERSION);
404 if (is_null($data)) {
407 $this->version = (int) $data;
421 if (is_null($this->createdAt)) {
423 $data = $this->
raw(self::FIELD_CREATED_AT);
424 if (is_null($data)) {
427 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
428 if (
false === $data) {
431 $this->createdAt = $data;
445 if (is_null($this->lastModifiedAt)) {
447 $data = $this->
raw(self::FIELD_LAST_MODIFIED_AT);
448 if (is_null($data)) {
451 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
452 if (
false === $data) {
455 $this->lastModifiedAt = $data;
469 if (is_null($this->key)) {
471 $data = $this->
raw(self::FIELD_KEY);
472 if (is_null($data)) {
475 $this->key = (string) $data;
489 if (is_null($this->lastModifiedBy)) {
491 $data = $this->
raw(self::FIELD_LAST_MODIFIED_BY);
492 if (is_null($data)) {
496 $this->lastModifiedBy = LastModifiedByModel::of($data);
510 if (is_null($this->createdBy)) {
512 $data = $this->
raw(self::FIELD_CREATED_BY);
513 if (is_null($data)) {
517 $this->createdBy = CreatedByModel::of($data);
531 if (is_null($this->quoteRequest)) {
533 $data = $this->
raw(self::FIELD_QUOTE_REQUEST);
534 if (is_null($data)) {
538 $this->quoteRequest = QuoteRequestReferenceModel::of($data);
552 if (is_null($this->stagedQuote)) {
554 $data = $this->
raw(self::FIELD_STAGED_QUOTE);
555 if (is_null($data)) {
559 $this->stagedQuote = StagedQuoteReferenceModel::of($data);
573 if (is_null($this->customer)) {
575 $data = $this->
raw(self::FIELD_CUSTOMER);
576 if (is_null($data)) {
580 $this->customer = CustomerReferenceModel::of($data);
596 if (is_null($this->customerGroup)) {
598 $data = $this->
raw(self::FIELD_CUSTOMER_GROUP);
599 if (is_null($data)) {
603 $this->customerGroup = CustomerGroupReferenceModel::of($data);
617 if (is_null($this->validTo)) {
619 $data = $this->
raw(self::FIELD_VALID_TO);
620 if (is_null($data)) {
623 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
624 if (
false === $data) {
627 $this->validTo = $data;
641 if (is_null($this->sellerComment)) {
643 $data = $this->
raw(self::FIELD_SELLER_COMMENT);
644 if (is_null($data)) {
647 $this->sellerComment = (string) $data;
661 if (is_null($this->buyerComment)) {
663 $data = $this->
raw(self::FIELD_BUYER_COMMENT);
664 if (is_null($data)) {
667 $this->buyerComment = (string) $data;
681 if (is_null($this->store)) {
683 $data = $this->
raw(self::FIELD_STORE);
684 if (is_null($data)) {
688 $this->store = StoreKeyReferenceModel::of($data);
702 if (is_null($this->lineItems)) {
704 $data = $this->
raw(self::FIELD_LINE_ITEMS);
705 if (is_null($data)) {
708 $this->lineItems = LineItemCollection::fromArray($data);
722 if (is_null($this->customLineItems)) {
724 $data = $this->
raw(self::FIELD_CUSTOM_LINE_ITEMS);
725 if (is_null($data)) {
728 $this->customLineItems = CustomLineItemCollection::fromArray($data);
743 if (is_null($this->totalPrice)) {
745 $data = $this->
raw(self::FIELD_TOTAL_PRICE);
746 if (is_null($data)) {
749 $className = TypedMoneyModel::resolveDiscriminatorClass($data);
750 $this->totalPrice = $className::of($data);
766 if (is_null($this->taxedPrice)) {
768 $data = $this->
raw(self::FIELD_TAXED_PRICE);
769 if (is_null($data)) {
773 $this->taxedPrice = TaxedPriceModel::of($data);
788 if (is_null($this->shippingAddress)) {
790 $data = $this->
raw(self::FIELD_SHIPPING_ADDRESS);
791 if (is_null($data)) {
795 $this->shippingAddress = AddressModel::of($data);
809 if (is_null($this->billingAddress)) {
811 $data = $this->
raw(self::FIELD_BILLING_ADDRESS);
812 if (is_null($data)) {
816 $this->billingAddress = AddressModel::of($data);
830 if (is_null($this->inventoryMode)) {
832 $data = $this->
raw(self::FIELD_INVENTORY_MODE);
833 if (is_null($data)) {
836 $this->inventoryMode = (string) $data;
850 if (is_null($this->taxMode)) {
852 $data = $this->
raw(self::FIELD_TAX_MODE);
853 if (is_null($data)) {
856 $this->taxMode = (string) $data;
870 if (is_null($this->priceRoundingMode)) {
872 $data = $this->
raw(self::FIELD_PRICE_ROUNDING_MODE);
873 if (is_null($data)) {
876 $this->priceRoundingMode = (string) $data;
890 if (is_null($this->taxRoundingMode)) {
892 $data = $this->
raw(self::FIELD_TAX_ROUNDING_MODE);
893 if (is_null($data)) {
896 $this->taxRoundingMode = (string) $data;
910 if (is_null($this->taxCalculationMode)) {
912 $data = $this->
raw(self::FIELD_TAX_CALCULATION_MODE);
913 if (is_null($data)) {
916 $this->taxCalculationMode = (string) $data;
930 if (is_null($this->country)) {
932 $data = $this->
raw(self::FIELD_COUNTRY);
933 if (is_null($data)) {
936 $this->country = (string) $data;
950 if (is_null($this->shippingInfo)) {
952 $data = $this->
raw(self::FIELD_SHIPPING_INFO);
953 if (is_null($data)) {
957 $this->shippingInfo = ShippingInfoModel::of($data);
971 if (is_null($this->paymentInfo)) {
973 $data = $this->
raw(self::FIELD_PAYMENT_INFO);
974 if (is_null($data)) {
978 $this->paymentInfo = PaymentInfoModel::of($data);
992 if (is_null($this->shippingRateInput)) {
994 $data = $this->
raw(self::FIELD_SHIPPING_RATE_INPUT);
995 if (is_null($data)) {
998 $className = ShippingRateInputModel::resolveDiscriminatorClass($data);
999 $this->shippingRateInput = $className::of($data);
1016 if (is_null($this->itemShippingAddresses)) {
1018 $data = $this->
raw(self::FIELD_ITEM_SHIPPING_ADDRESSES);
1019 if (is_null($data)) {
1022 $this->itemShippingAddresses = AddressCollection::fromArray($data);
1036 if (is_null($this->directDiscounts)) {
1038 $data = $this->
raw(self::FIELD_DIRECT_DISCOUNTS);
1039 if (is_null($data)) {
1042 $this->directDiscounts = DirectDiscountCollection::fromArray($data);
1059 if (is_null($this->directDiscountsIgnoreCartDiscounts)) {
1061 $data = $this->
raw(self::FIELD_DIRECT_DISCOUNTS_IGNORE_CART_DISCOUNTS);
1062 if (is_null($data)) {
1065 $this->directDiscountsIgnoreCartDiscounts = (bool) $data;
1079 if (is_null($this->custom)) {
1081 $data = $this->
raw(self::FIELD_CUSTOM);
1082 if (is_null($data)) {
1086 $this->custom = CustomFieldsModel::of($data);
1100 if (is_null($this->quoteState)) {
1102 $data = $this->
raw(self::FIELD_QUOTE_STATE);
1103 if (is_null($data)) {
1106 $this->quoteState = (string) $data;
1121 if (is_null($this->state)) {
1123 $data = $this->
raw(self::FIELD_STATE);
1124 if (is_null($data)) {
1128 $this->state = StateReferenceModel::of($data);
1143 if (is_null($this->purchaseOrderNumber)) {
1145 $data = $this->
raw(self::FIELD_PURCHASE_ORDER_NUMBER);
1146 if (is_null($data)) {
1149 $this->purchaseOrderNumber = (string) $data;
1163 if (is_null($this->businessUnit)) {
1165 $data = $this->
raw(self::FIELD_BUSINESS_UNIT);
1166 if (is_null($data)) {
1170 $this->businessUnit = BusinessUnitKeyReferenceModel::of($data);
1482 #[\ReturnTypeWillChange]
1497 return (
object) $data;