3declare(strict_types=1);
355 if (is_null($this->
id)) {
357 $data = $this->
raw(self::FIELD_ID);
358 if (is_null($data)) {
361 $this->
id = (string) $data;
375 if (is_null($this->version)) {
377 $data = $this->
raw(self::FIELD_VERSION);
378 if (is_null($data)) {
381 $this->version = (int) $data;
395 if (is_null($this->createdAt)) {
397 $data = $this->
raw(self::FIELD_CREATED_AT);
398 if (is_null($data)) {
401 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
402 if (
false === $data) {
405 $this->createdAt = $data;
419 if (is_null($this->lastModifiedAt)) {
421 $data = $this->
raw(self::FIELD_LAST_MODIFIED_AT);
422 if (is_null($data)) {
425 $data = DateTimeImmutable::createFromFormat(MapperFactory::DATETIME_FORMAT, $data);
426 if (
false === $data) {
429 $this->lastModifiedAt = $data;
443 if (is_null($this->key)) {
445 $data = $this->
raw(self::FIELD_KEY);
446 if (is_null($data)) {
449 $this->key = (string) $data;
463 if (is_null($this->lastModifiedBy)) {
465 $data = $this->
raw(self::FIELD_LAST_MODIFIED_BY);
466 if (is_null($data)) {
470 $this->lastModifiedBy = LastModifiedByModel::of($data);
484 if (is_null($this->createdBy)) {
486 $data = $this->
raw(self::FIELD_CREATED_BY);
487 if (is_null($data)) {
491 $this->createdBy = CreatedByModel::of($data);
505 if (is_null($this->quoteRequestState)) {
507 $data = $this->
raw(self::FIELD_QUOTE_REQUEST_STATE);
508 if (is_null($data)) {
511 $this->quoteRequestState = (string) $data;
525 if (is_null($this->comment)) {
527 $data = $this->
raw(self::FIELD_COMMENT);
528 if (is_null($data)) {
531 $this->comment = (string) $data;
545 if (is_null($this->customer)) {
547 $data = $this->
raw(self::FIELD_CUSTOMER);
548 if (is_null($data)) {
552 $this->customer = CustomerReferenceModel::of($data);
568 if (is_null($this->customerGroup)) {
570 $data = $this->
raw(self::FIELD_CUSTOMER_GROUP);
571 if (is_null($data)) {
575 $this->customerGroup = CustomerGroupReferenceModel::of($data);
589 if (is_null($this->store)) {
591 $data = $this->
raw(self::FIELD_STORE);
592 if (is_null($data)) {
596 $this->store = StoreKeyReferenceModel::of($data);
610 if (is_null($this->lineItems)) {
612 $data = $this->
raw(self::FIELD_LINE_ITEMS);
613 if (is_null($data)) {
616 $this->lineItems = LineItemCollection::fromArray($data);
630 if (is_null($this->customLineItems)) {
632 $data = $this->
raw(self::FIELD_CUSTOM_LINE_ITEMS);
633 if (is_null($data)) {
636 $this->customLineItems = CustomLineItemCollection::fromArray($data);
651 if (is_null($this->totalPrice)) {
653 $data = $this->
raw(self::FIELD_TOTAL_PRICE);
654 if (is_null($data)) {
657 $className = TypedMoneyModel::resolveDiscriminatorClass($data);
658 $this->totalPrice = $className::of($data);
674 if (is_null($this->taxedPrice)) {
676 $data = $this->
raw(self::FIELD_TAXED_PRICE);
677 if (is_null($data)) {
681 $this->taxedPrice = TaxedPriceModel::of($data);
696 if (is_null($this->shippingAddress)) {
698 $data = $this->
raw(self::FIELD_SHIPPING_ADDRESS);
699 if (is_null($data)) {
703 $this->shippingAddress = AddressModel::of($data);
717 if (is_null($this->billingAddress)) {
719 $data = $this->
raw(self::FIELD_BILLING_ADDRESS);
720 if (is_null($data)) {
724 $this->billingAddress = AddressModel::of($data);
738 if (is_null($this->inventoryMode)) {
740 $data = $this->
raw(self::FIELD_INVENTORY_MODE);
741 if (is_null($data)) {
744 $this->inventoryMode = (string) $data;
758 if (is_null($this->taxMode)) {
760 $data = $this->
raw(self::FIELD_TAX_MODE);
761 if (is_null($data)) {
764 $this->taxMode = (string) $data;
778 if (is_null($this->priceRoundingMode)) {
780 $data = $this->
raw(self::FIELD_PRICE_ROUNDING_MODE);
781 if (is_null($data)) {
784 $this->priceRoundingMode = (string) $data;
798 if (is_null($this->taxRoundingMode)) {
800 $data = $this->
raw(self::FIELD_TAX_ROUNDING_MODE);
801 if (is_null($data)) {
804 $this->taxRoundingMode = (string) $data;
818 if (is_null($this->taxCalculationMode)) {
820 $data = $this->
raw(self::FIELD_TAX_CALCULATION_MODE);
821 if (is_null($data)) {
824 $this->taxCalculationMode = (string) $data;
838 if (is_null($this->country)) {
840 $data = $this->
raw(self::FIELD_COUNTRY);
841 if (is_null($data)) {
844 $this->country = (string) $data;
858 if (is_null($this->shippingInfo)) {
860 $data = $this->
raw(self::FIELD_SHIPPING_INFO);
861 if (is_null($data)) {
865 $this->shippingInfo = ShippingInfoModel::of($data);
879 if (is_null($this->paymentInfo)) {
881 $data = $this->
raw(self::FIELD_PAYMENT_INFO);
882 if (is_null($data)) {
886 $this->paymentInfo = PaymentInfoModel::of($data);
900 if (is_null($this->shippingRateInput)) {
902 $data = $this->
raw(self::FIELD_SHIPPING_RATE_INPUT);
903 if (is_null($data)) {
906 $className = ShippingRateInputModel::resolveDiscriminatorClass($data);
907 $this->shippingRateInput = $className::of($data);
924 if (is_null($this->itemShippingAddresses)) {
926 $data = $this->
raw(self::FIELD_ITEM_SHIPPING_ADDRESSES);
927 if (is_null($data)) {
930 $this->itemShippingAddresses = AddressCollection::fromArray($data);
944 if (is_null($this->directDiscounts)) {
946 $data = $this->
raw(self::FIELD_DIRECT_DISCOUNTS);
947 if (is_null($data)) {
950 $this->directDiscounts = DirectDiscountCollection::fromArray($data);
967 if (is_null($this->directDiscountsIgnoreCartDiscounts)) {
969 $data = $this->
raw(self::FIELD_DIRECT_DISCOUNTS_IGNORE_CART_DISCOUNTS);
970 if (is_null($data)) {
973 $this->directDiscountsIgnoreCartDiscounts = (bool) $data;
987 if (is_null($this->custom)) {
989 $data = $this->
raw(self::FIELD_CUSTOM);
990 if (is_null($data)) {
994 $this->custom = CustomFieldsModel::of($data);
1009 if (is_null($this->state)) {
1011 $data = $this->
raw(self::FIELD_STATE);
1012 if (is_null($data)) {
1016 $this->state = StateReferenceModel::of($data);
1031 if (is_null($this->purchaseOrderNumber)) {
1033 $data = $this->
raw(self::FIELD_PURCHASE_ORDER_NUMBER);
1034 if (is_null($data)) {
1037 $this->purchaseOrderNumber = (string) $data;
1051 if (is_null($this->cart)) {
1053 $data = $this->
raw(self::FIELD_CART);
1054 if (is_null($data)) {
1058 $this->cart = CartReferenceModel::of($data);
1072 if (is_null($this->businessUnit)) {
1074 $data = $this->
raw(self::FIELD_BUSINESS_UNIT);
1075 if (is_null($data)) {
1079 $this->businessUnit = BusinessUnitKeyReferenceModel::of($data);
1355 $this->cart =
$cart;
1367 #[\ReturnTypeWillChange]
1378 return (
object) $data;