3declare(strict_types=1);
365 if (is_null($this->
id)) {
367 $data = $this->
raw(self::FIELD_ID);
368 if (is_null($data)) {
371 $this->
id = (string) $data;
385 if (is_null($this->version)) {
387 $data = $this->
raw(self::FIELD_VERSION);
388 if (is_null($data)) {
391 $this->version = (int) $data;
405 if (is_null($this->createdAt)) {
407 $data = $this->
raw(self::FIELD_CREATED_AT);
408 if (is_null($data)) {
411 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
412 if (
false === $data) {
415 $this->createdAt = $data;
429 if (is_null($this->lastModifiedAt)) {
431 $data = $this->
raw(self::FIELD_LAST_MODIFIED_AT);
432 if (is_null($data)) {
435 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
436 if (
false === $data) {
439 $this->lastModifiedAt = $data;
453 if (is_null($this->key)) {
455 $data = $this->
raw(self::FIELD_KEY);
456 if (is_null($data)) {
459 $this->key = (string) $data;
473 if (is_null($this->lastModifiedBy)) {
475 $data = $this->
raw(self::FIELD_LAST_MODIFIED_BY);
476 if (is_null($data)) {
480 $this->lastModifiedBy = LastModifiedByModel::of($data);
494 if (is_null($this->createdBy)) {
496 $data = $this->
raw(self::FIELD_CREATED_BY);
497 if (is_null($data)) {
501 $this->createdBy = CreatedByModel::of($data);
515 if (is_null($this->quoteRequest)) {
517 $data = $this->
raw(self::FIELD_QUOTE_REQUEST);
518 if (is_null($data)) {
522 $this->quoteRequest = QuoteRequestReferenceModel::of($data);
536 if (is_null($this->stagedQuote)) {
538 $data = $this->
raw(self::FIELD_STAGED_QUOTE);
539 if (is_null($data)) {
543 $this->stagedQuote = StagedQuoteReferenceModel::of($data);
557 if (is_null($this->customer)) {
559 $data = $this->
raw(self::FIELD_CUSTOMER);
560 if (is_null($data)) {
564 $this->customer = CustomerReferenceModel::of($data);
580 if (is_null($this->customerGroup)) {
582 $data = $this->
raw(self::FIELD_CUSTOMER_GROUP);
583 if (is_null($data)) {
587 $this->customerGroup = CustomerGroupReferenceModel::of($data);
601 if (is_null($this->validTo)) {
603 $data = $this->
raw(self::FIELD_VALID_TO);
604 if (is_null($data)) {
607 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
608 if (
false === $data) {
611 $this->validTo = $data;
625 if (is_null($this->sellerComment)) {
627 $data = $this->
raw(self::FIELD_SELLER_COMMENT);
628 if (is_null($data)) {
631 $this->sellerComment = (string) $data;
645 if (is_null($this->buyerComment)) {
647 $data = $this->
raw(self::FIELD_BUYER_COMMENT);
648 if (is_null($data)) {
651 $this->buyerComment = (string) $data;
665 if (is_null($this->store)) {
667 $data = $this->
raw(self::FIELD_STORE);
668 if (is_null($data)) {
672 $this->store = StoreKeyReferenceModel::of($data);
686 if (is_null($this->lineItems)) {
688 $data = $this->
raw(self::FIELD_LINE_ITEMS);
689 if (is_null($data)) {
692 $this->lineItems = LineItemCollection::fromArray($data);
706 if (is_null($this->customLineItems)) {
708 $data = $this->
raw(self::FIELD_CUSTOM_LINE_ITEMS);
709 if (is_null($data)) {
712 $this->customLineItems = CustomLineItemCollection::fromArray($data);
727 if (is_null($this->totalPrice)) {
729 $data = $this->
raw(self::FIELD_TOTAL_PRICE);
730 if (is_null($data)) {
733 $className = TypedMoneyModel::resolveDiscriminatorClass($data);
734 $this->totalPrice = $className::of($data);
750 if (is_null($this->taxedPrice)) {
752 $data = $this->
raw(self::FIELD_TAXED_PRICE);
753 if (is_null($data)) {
757 $this->taxedPrice = TaxedPriceModel::of($data);
772 if (is_null($this->shippingAddress)) {
774 $data = $this->
raw(self::FIELD_SHIPPING_ADDRESS);
775 if (is_null($data)) {
779 $this->shippingAddress = AddressModel::of($data);
793 if (is_null($this->billingAddress)) {
795 $data = $this->
raw(self::FIELD_BILLING_ADDRESS);
796 if (is_null($data)) {
800 $this->billingAddress = AddressModel::of($data);
814 if (is_null($this->inventoryMode)) {
816 $data = $this->
raw(self::FIELD_INVENTORY_MODE);
817 if (is_null($data)) {
820 $this->inventoryMode = (string) $data;
834 if (is_null($this->taxMode)) {
836 $data = $this->
raw(self::FIELD_TAX_MODE);
837 if (is_null($data)) {
840 $this->taxMode = (string) $data;
854 if (is_null($this->taxRoundingMode)) {
856 $data = $this->
raw(self::FIELD_TAX_ROUNDING_MODE);
857 if (is_null($data)) {
860 $this->taxRoundingMode = (string) $data;
874 if (is_null($this->taxCalculationMode)) {
876 $data = $this->
raw(self::FIELD_TAX_CALCULATION_MODE);
877 if (is_null($data)) {
880 $this->taxCalculationMode = (string) $data;
894 if (is_null($this->country)) {
896 $data = $this->
raw(self::FIELD_COUNTRY);
897 if (is_null($data)) {
900 $this->country = (string) $data;
914 if (is_null($this->shippingInfo)) {
916 $data = $this->
raw(self::FIELD_SHIPPING_INFO);
917 if (is_null($data)) {
921 $this->shippingInfo = ShippingInfoModel::of($data);
935 if (is_null($this->paymentInfo)) {
937 $data = $this->
raw(self::FIELD_PAYMENT_INFO);
938 if (is_null($data)) {
942 $this->paymentInfo = PaymentInfoModel::of($data);
956 if (is_null($this->shippingRateInput)) {
958 $data = $this->
raw(self::FIELD_SHIPPING_RATE_INPUT);
959 if (is_null($data)) {
962 $className = ShippingRateInputModel::resolveDiscriminatorClass($data);
963 $this->shippingRateInput = $className::of($data);
980 if (is_null($this->itemShippingAddresses)) {
982 $data = $this->
raw(self::FIELD_ITEM_SHIPPING_ADDRESSES);
983 if (is_null($data)) {
986 $this->itemShippingAddresses = AddressCollection::fromArray($data);
1000 if (is_null($this->directDiscounts)) {
1002 $data = $this->
raw(self::FIELD_DIRECT_DISCOUNTS);
1003 if (is_null($data)) {
1006 $this->directDiscounts = DirectDiscountCollection::fromArray($data);
1020 if (is_null($this->custom)) {
1022 $data = $this->
raw(self::FIELD_CUSTOM);
1023 if (is_null($data)) {
1027 $this->custom = CustomFieldsModel::of($data);
1041 if (is_null($this->quoteState)) {
1043 $data = $this->
raw(self::FIELD_QUOTE_STATE);
1044 if (is_null($data)) {
1047 $this->quoteState = (string) $data;
1062 if (is_null($this->state)) {
1064 $data = $this->
raw(self::FIELD_STATE);
1065 if (is_null($data)) {
1069 $this->state = StateReferenceModel::of($data);
1084 if (is_null($this->purchaseOrderNumber)) {
1086 $data = $this->
raw(self::FIELD_PURCHASE_ORDER_NUMBER);
1087 if (is_null($data)) {
1090 $this->purchaseOrderNumber = (string) $data;
1104 if (is_null($this->businessUnit)) {
1106 $data = $this->
raw(self::FIELD_BUSINESS_UNIT);
1107 if (is_null($data)) {
1111 $this->businessUnit = BusinessUnitKeyReferenceModel::of($data);
1407 #[\ReturnTypeWillChange]
1422 return (
object) $data;