src/Entity/PreOrder.php line 48

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use ApiPlatform\Metadata\ApiResource;
  4. use App\Repository\PreOrderRepository;
  5. use Doctrine\Common\Collections\ArrayCollection;
  6. use Doctrine\Common\Collections\Collection;
  7. use Doctrine\DBAL\Types\Types;
  8. use Doctrine\ORM\Mapping as ORM;
  9. use Symfony\Component\Serializer\Annotation\Groups;
  10. use Symfony\Component\Serializer\Annotation\MaxDepth;
  11. use ApiPlatform\Metadata\ApiFilter;
  12. use ApiPlatform\Doctrine\Orm\Filter\SearchFilter;
  13. use ApiPlatform\Serializer\Filter\GroupFilter;
  14. use Symfony\Bridge\Doctrine\Types\UlidType;
  15. use Symfony\Component\Uid\Ulid;
  16. use Symfony\Bridge\Doctrine\IdGenerator\UlidGenerator;
  17. #[ORM\Entity(repositoryClassPreOrderRepository::class)]
  18. #[ApiResource(
  19.     normalizationContext: ['groups' => ['pre_order:read']],
  20.     denormalizationContext: ['groups' => ['pre_order:write']],
  21.     order: ['id' => 'DESC'],
  22. )]
  23. #[ORM\HasLifecycleCallbacks
  24. #[ApiFilter(
  25.     SearchFilter::class, 
  26.     properties: [
  27.         'code1c' => 'exact'
  28.         'account.name' => 'ipartial'
  29.         'account.manager' => 'exact'
  30.         'manager.username' => 'ipartial'
  31.         'manager.firstName' => 'ipartial'
  32.         'manager.lastName' => 'ipartial'
  33.         'synced' => 'exact',  
  34.         'client.id' => 'exact',
  35.         'ulid' => 'exact',
  36.     ]
  37. )]
  38. #[ApiFilter(GroupFilter::class, arguments: ['parameterName' => 'g''overrideDefaultGroups' => true])]
  39. class PreOrder
  40. {
  41.     #[ORM\Id]
  42.     #[ORM\GeneratedValue]
  43.     #[ORM\Column]
  44.     #[Groups(['pre_order_product:read''pre_order:read''pre_order:write''order:read''order_product:read''load_invoice:read'])]
  45.     private ?int $id null;
  46.     #[Groups(['pre_order:read''pre_order:write','order:read''order_product:read''load_invoice:read'])]
  47.     #[ORM\Column(length255nullabletrue)]
  48.     private ?string $name null;
  49.     #[Groups(['pre_order:read''pre_order:write''order:read''order_product:read''load_invoice:read'])]
  50.     #[ORM\Column(typeTypes::DATETIME_MUTABLEnullabletrue)]
  51.     private ?\DateTimeInterface $dateEntered null;
  52.     #[Groups(['pre_order:read''pre_order:write'])]
  53.     #[ORM\Column(typeTypes::DATETIME_MUTABLEnullabletrue)]
  54.     private ?\DateTimeInterface $dateModified null;
  55.     #[Groups(['pre_order:read''pre_order:write'])]
  56.     #[ORM\ManyToOne]
  57.     #[MaxDepth(1)]
  58.     private ?User $createdBy null;
  59.     // #[Groups(['pre_order:read', 'pre_order:write', 'order:read', 'order_product:read', 'load_invoice:read'])]
  60.     #[ORM\ManyToOne]
  61.     #[MaxDepth(1)]
  62.     private ?User $modifiedUser null;
  63.     #[Groups(['pre_order:read''pre_order:write''order:read''order_product:read''load_invoice:read'])]
  64.     #[ORM\Column(typeTypes::DATE_MUTABLEnullabletrue)]
  65.     private ?\DateTimeInterface $dateOrder null;
  66.     #[Groups(['pre_order:read''pre_order:write'])]
  67.     #[ORM\Column(length100nullabletrue)]
  68.     private ?string $status null;
  69.     #[Groups(['pre_order:read''pre_order:write'])]
  70.     #[ORM\Column(typeTypes::TEXTnullabletrue)]
  71.     private ?string $description null;
  72.     #[Groups(['pre_order:read''pre_order:write'])]
  73.     #[ORM\Column(length20nullabletrue)]
  74.     private ?string $paymentMethod null;
  75.     #[Groups(['pre_order:read''pre_order:write''order:read''order_product:read''load_invoice:read'])]
  76.     #[ORM\Column(nullabletrue)]
  77.     private ?float $sumOrdered null;
  78.     #[Groups(['pre_order:read''pre_order:write'])]
  79.     #[ORM\Column(length10nullabletrue)]
  80.     private ?string $curency null;
  81.     #[Groups(['pre_order:read''pre_order:write'])]
  82.     #[ORM\Column(nullabletrue)]
  83.     private ?float $curencyRate null;
  84.     #[Groups(['pre_order:read''pre_order:write'])]
  85.     #[ORM\Column(nullabletrue)]
  86.     private ?float $discountTotal null;
  87.     #[Groups(['pre_order:read''pre_order:write'])]
  88.     #[ORM\Column(nullabletrue)]
  89.     private ?int $discountPercent null;
  90.     #[Groups(['pre_order:read''pre_order:write'])]
  91.     #[ORM\Column(length100nullabletrue)]
  92.     private ?string $shippingAddressStreet null;
  93.     #[Groups(['pre_order:read''pre_order:write'])]
  94.     #[ORM\Column(length100nullabletrue)]
  95.     private ?string $shippingAddressCity null;
  96.     #[Groups(['pre_order:read''pre_order:write'])]
  97.     #[ORM\Column(length100nullabletrue)]
  98.     private ?string $shippingAddressBuilding null;
  99.     #[ORM\Column(length100nullabletrue)]
  100.     private ?string $shippingAddressPost null;
  101.     #[Groups(['pre_order:read''pre_order:write'])]
  102.     #[ORM\Column(length100nullabletrue)]
  103.     private ?string $shippingAddressCountry null;
  104.     #[Groups(['pre_order:read''pre_order:write'])]
  105.     #[ORM\Column(length100nullabletrue)]
  106.     private ?string $shippingAddressDate null;
  107.     #[Groups(['pre_order:read''pre_order:write'])]
  108.     #[ORM\Column(nullabletrue)]
  109.     private ?int $copyOrderId null;
  110.     #[MaxDepth(3)]
  111.     #[Groups(['pre_order:read''pre_order:write'])]
  112.     #[ORM\OneToMany(mappedBy'preOrder'targetEntityPreOrderProduct::class, cascade:['persist'])]
  113.     private Collection $preOrderProducts;
  114.     #[MaxDepth(1)]
  115.     #[Groups(['pre_order:read''pre_order:write'])]
  116.     #[ORM\OneToMany(mappedBy'preOrder'targetEntityOrders::class)]
  117.     private Collection $orders;
  118.     #[MaxDepth(1)]
  119.     #[Groups(['pre_order:read''pre_order:write'])]
  120.     #[ORM\OneToMany(mappedBy'pre_order'targetEntityLoadInvoice::class)]
  121.     private Collection $loadInvoices;
  122.     #[MaxDepth(1)]
  123.     #[Groups(['pre_order:write',   'load_invoice:read'])]
  124.     #[ORM\OneToMany(mappedBy'pre_order'targetEntityAccepted::class)]
  125.     private Collection $accepteds;
  126.     #[MaxDepth(1)]
  127.     #[Groups(['pre_order:write'])]
  128.     #[ORM\OneToMany(mappedBy'pre_order_product'targetEntityLoadInvoiceProduct::class)]
  129.     private Collection $loadInvoiceProducts;
  130.     #[Groups(['pre_order:read''pre_order:write'])]
  131.     #[ORM\ManyToOne(inversedBy'preOrders')]
  132.     #[MaxDepth(1)]
  133.     private ?Accounts $account null;
  134.     #[Groups(['pre_order:read''pre_order:write'])]
  135.     #[ORM\Column(nullabletrue)]
  136.     private ?bool $synced false;
  137.     #[Groups(['pre_order:client''pre_order:write'])]
  138.     #[ORM\ManyToOne(inversedBy'preOrders')]
  139.     private ?User $client null
  140.     #[Groups(['pre_order:read''pre_order:write'])]
  141.     #[ORM\ManyToOne(inversedBy'ManagerPreOrders')]
  142.     private ?User $manager null;
  143.     #[Groups(['pre_order:read''pre_order:write'])]
  144.     #[ORM\ManyToMany(targetEntityFees::class, mappedBy'pre_orders')]
  145.     private Collection $fees;
  146.     #[Groups(['pre_order:read''pre_order:write'])]
  147.     #[ORM\ManyToOne(inversedBy'pre_orders')]
  148.     private ?Coupons $coupons null;
  149.     #[Groups(['pre_order:read''pre_order:write'])]
  150.     #[ORM\ManyToOne(inversedBy'preOrders')]
  151.     private ?AccountAddress $address null;
  152.     #[Groups(['pre_order:read''pre_order:write'])]
  153.     #[ORM\Column(length100nullabletrue)]
  154.     private ?string $shippingMethod null;
  155.     #[Groups(['pre_order:read''pre_order:write'])]
  156.     #[ORM\Column(nullabletrue)]
  157.     private ?bool $dontCallMe null;
  158.     #[ORM\Column(typeTypes::GUIDnullabletrue)]
  159.     private ?string $guid null;
  160.     #[ORM\Column(type'ulid'nullabletrue)]
  161.     private ?Ulid $ulid null;
  162.     #[Groups(['pre_order_product:read''pre_order:read''pre_order:write''order:read''order_product:read''load_invoice:read'])]
  163.     #[ORM\Column(length100nullabletrue)]
  164.     private ?string $paymentStatus null;
  165.     #[Groups(['pre_order:read''pre_order:write'])]
  166.     #[ORM\Column(nullabletrue)]
  167.     private ?array $shippingReceiver null;
  168.     #[Groups(['pre_order:read''pre_order:write'])]
  169.     #[ORM\Column(nullabletrue)]
  170.     private ?array $paymentData null;
  171.     public function __construct()
  172.     {
  173.         $this->preOrderProducts = new ArrayCollection();
  174.         $this->orders = new ArrayCollection();
  175.         $this->loadInvoices = new ArrayCollection();
  176.         $this->accepteds = new ArrayCollection();
  177.         $this->loadInvoiceProducts = new ArrayCollection();
  178.         $this->fees = new ArrayCollection();
  179.     }
  180.     public function getId(): ?int
  181.     {
  182.         return $this->id;
  183.     }
  184.     public function getName(): ?string
  185.     {
  186.         return $this->name;
  187.     }
  188.     public function setName(?string $name): self
  189.     {
  190.         $this->name $name;
  191.         return $this;
  192.     }
  193.     public function getDateEntered(): ?\DateTimeInterface
  194.     {
  195.         return $this->dateEntered;
  196.     }
  197.     public function setDateEntered(?\DateTimeInterface $dateEntered): self
  198.     {
  199.         $this->dateEntered $dateEntered;
  200.         return $this;
  201.     }
  202.     public function getDateModified(): ?\DateTimeInterface
  203.     {
  204.         return $this->dateModified;
  205.     }
  206.     public function setDateModified(?\DateTimeInterface $dateModified): self
  207.     {
  208.         $this->dateModified $dateModified;
  209.         return $this;
  210.     }
  211.     public function getCreatedBy(): ?User
  212.     {
  213.         return $this->createdBy;
  214.     }
  215.     public function setCreatedBy(?User $createdBy): self
  216.     {
  217.         $this->createdBy $createdBy;
  218.         return $this;
  219.     }
  220.     public function getModifiedUser(): ?User
  221.     {
  222.         return $this->modifiedUser;
  223.     }
  224.     public function setModifiedUser(?User $modifiedUser): self
  225.     {
  226.         $this->modifiedUser $modifiedUser;
  227.         return $this;
  228.     }
  229.     public function getDateOrder(): ?\DateTimeInterface
  230.     {
  231.         return $this->dateOrder;
  232.     }
  233.     public function setDateOrder(?\DateTimeInterface $dateOrder): self
  234.     {
  235.         $this->dateOrder $dateOrder;
  236.         return $this;
  237.     }
  238.     public function getStatus(): ?string
  239.     {
  240.         return $this->status;
  241.     }
  242.     public function setStatus(?string $status): self
  243.     {
  244.         $this->status $status;
  245.         return $this;
  246.     }
  247.     public function getDescription(): ?string
  248.     {
  249.         return $this->description;
  250.     }
  251.     public function setDescription(?string $description): self
  252.     {
  253.         $this->description $description;
  254.         return $this;
  255.     }
  256.     public function getPaymentMethod(): ?string
  257.     {
  258.         return $this->paymentMethod;
  259.     }
  260.     public function setPaymentMethod(?string $paymentMethod): self
  261.     {
  262.         $this->paymentMethod $paymentMethod;
  263.         return $this;
  264.     }
  265.     public function getSumOrdered(): ?float
  266.     {
  267.         return $this->sumOrdered;
  268.     }
  269.     public function setSumOrdered(?float $sumOrdered): self
  270.     {
  271.         $this->sumOrdered $sumOrdered;
  272.         return $this;
  273.     }
  274.     public function getCurency(): ?string
  275.     {
  276.         return $this->curency;
  277.     }
  278.     public function setCurency(?string $curency): self
  279.     {
  280.         $this->curency $curency;
  281.         return $this;
  282.     }
  283.     public function getCurencyRate(): ?float
  284.     {
  285.         return $this->curencyRate;
  286.     }
  287.     public function setCurencyRate(?float $curencyRate): self
  288.     {
  289.         $this->curencyRate $curencyRate;
  290.         return $this;
  291.     }
  292.     public function getDiscountTotal(): ?float
  293.     {
  294.         return $this->discountTotal;
  295.     }
  296.     public function setDiscountTotal(?float $discountTotal): self
  297.     {
  298.         $this->discountTotal $discountTotal;
  299.         return $this;
  300.     }
  301.     public function getDiscountPercent(): ?int
  302.     {
  303.         return $this->discountPercent;
  304.     }
  305.     public function setDiscountPercent(?int $discountPercent): self
  306.     {
  307.         $this->discountPercent $discountPercent;
  308.         return $this;
  309.     }
  310.     public function getShippingAddressStreet(): ?string
  311.     {
  312.         return $this->shippingAddressStreet;
  313.     }
  314.     public function setShippingAddressStreet(?string $shippingAddressStreet): self
  315.     {
  316.         $this->shippingAddressStreet $shippingAddressStreet;
  317.         return $this;
  318.     }
  319.     public function getShippingAddressCity(): ?string
  320.     {
  321.         return $this->shippingAddressCity;
  322.     }
  323.     public function setShippingAddressCity(?string $shippingAddressCity): self
  324.     {
  325.         $this->shippingAddressCity $shippingAddressCity;
  326.         return $this;
  327.     }
  328.     public function getShippingAddressBuilding(): ?string
  329.     {
  330.         return $this->shippingAddressBuilding;
  331.     }
  332.     public function setShippingAddressBuilding(?string $shippingAddressBuilding): self
  333.     {
  334.         $this->shippingAddressBuilding $shippingAddressBuilding;
  335.         return $this;
  336.     }
  337.     public function getShippingAddressPost(): ?string
  338.     {
  339.         return $this->shippingAddressPost;
  340.     }
  341.     public function setShippingAddressPost(?string $shippingAddressPost): self
  342.     {
  343.         $this->shippingAddressPost $shippingAddressPost;
  344.         return $this;
  345.     }
  346.     public function getShippingAddressCountry(): ?string
  347.     {
  348.         return $this->shippingAddressCountry;
  349.     }
  350.     public function setShippingAddressCountry(?string $shippingAddressCountry): self
  351.     {
  352.         $this->shippingAddressCountry $shippingAddressCountry;
  353.         return $this;
  354.     }
  355.     public function getShippingAddressDate(): ?string
  356.     {
  357.         return $this->shippingAddressDate;
  358.     }
  359.     public function setShippingAddressDate(?string $shippingAddressDate): self
  360.     {
  361.         $this->shippingAddressDate $shippingAddressDate;
  362.         return $this;
  363.     }
  364.     public function getCopyOrderId(): ?int
  365.     {
  366.         return $this->copyOrderId;
  367.     }
  368.     public function setCopyOrderId(?int $copyOrderId): self
  369.     {
  370.         $this->copyOrderId $copyOrderId;
  371.         return $this;
  372.     }
  373.     /**
  374.      * @return Collection<int, PreOrderProduct>
  375.      */
  376.     public function getPreOrderProducts(): Collection
  377.     {
  378.         return $this->preOrderProducts;
  379.     }
  380.     public function addPreOrderProduct(PreOrderProduct $preOrderProduct): self
  381.     {
  382.         if (!$this->preOrderProducts->contains($preOrderProduct)) {
  383.             $this->preOrderProducts->add($preOrderProduct);
  384.             $preOrderProduct->setPreOrder($this);
  385.         }
  386.         return $this;
  387.     }
  388.     public function removePreOrderProduct(PreOrderProduct $preOrderProduct): self
  389.     {
  390.         if ($this->preOrderProducts->removeElement($preOrderProduct)) {
  391.             // set the owning side to null (unless already changed)
  392.             if ($preOrderProduct->getPreOrder() === $this) {
  393.                 $preOrderProduct->setPreOrder(null);
  394.             }
  395.         }
  396.         return $this;
  397.     }
  398.     /**
  399.      * @return Collection<int, Orders>
  400.      */
  401.     public function getOrders(): Collection
  402.     {
  403.         return $this->orders;
  404.     }
  405.     public function addOrder(Orders $order): self
  406.     {
  407.         if (!$this->orders->contains($order)) {
  408.             $this->orders->add($order);
  409.             $order->setPreOrder($this);
  410.         }
  411.         return $this;
  412.     }
  413.     public function removeOrder(Orders $order): self
  414.     {
  415.         if ($this->orders->removeElement($order)) {
  416.             // set the owning side to null (unless already changed)
  417.             if ($order->getPreOrder() === $this) {
  418.                 $order->setPreOrder(null);
  419.             }
  420.         }
  421.         return $this;
  422.     }
  423.     /**
  424.      * @return Collection<int, LoadInvoice>
  425.      */
  426.     public function getLoadInvoices(): Collection
  427.     {
  428.         return $this->loadInvoices;
  429.     }
  430.     public function addLoadInvoice(LoadInvoice $loadInvoice): self
  431.     {
  432.         if (!$this->loadInvoices->contains($loadInvoice)) {
  433.             $this->loadInvoices->add($loadInvoice);
  434.             $loadInvoice->setPreOrder($this);
  435.         }
  436.         return $this;
  437.     }
  438.     public function removeLoadInvoice(LoadInvoice $loadInvoice): self
  439.     {
  440.         if ($this->loadInvoices->removeElement($loadInvoice)) {
  441.             // set the owning side to null (unless already changed)
  442.             if ($loadInvoice->getPreOrder() === $this) {
  443.                 $loadInvoice->setPreOrder(null);
  444.             }
  445.         }
  446.         return $this;
  447.     }
  448.     /**
  449.      * @return Collection<int, Accepted>
  450.      */
  451.     public function getAccepteds(): Collection
  452.     {
  453.         return $this->accepteds;
  454.     }
  455.     public function addAccepted(Accepted $accepted): self
  456.     {
  457.         if (!$this->accepteds->contains($accepted)) {
  458.             $this->accepteds->add($accepted);
  459.             $accepted->setPreOrder($this);
  460.         }
  461.         return $this;
  462.     }
  463.     public function removeAccepted(Accepted $accepted): self
  464.     {
  465.         if ($this->accepteds->removeElement($accepted)) {
  466.             // set the owning side to null (unless already changed)
  467.             if ($accepted->getPreOrder() === $this) {
  468.                 $accepted->setPreOrder(null);
  469.             }
  470.         }
  471.         return $this;
  472.     }
  473.     /**
  474.      * @return Collection<int, LoadInvoiceProduct>
  475.      */
  476.     public function getLoadInvoiceProducts(): Collection
  477.     {
  478.         return $this->loadInvoiceProducts;
  479.     }
  480.     public function addLoadInvoiceProduct(LoadInvoiceProduct $loadInvoiceProduct): self
  481.     {
  482.         if (!$this->loadInvoiceProducts->contains($loadInvoiceProduct)) {
  483.             $this->loadInvoiceProducts->add($loadInvoiceProduct);
  484.             $loadInvoiceProduct->setPreOrderProduct($this);
  485.         }
  486.         return $this;
  487.     }
  488.     public function removeLoadInvoiceProduct(LoadInvoiceProduct $loadInvoiceProduct): self
  489.     {
  490.         if ($this->loadInvoiceProducts->removeElement($loadInvoiceProduct)) {
  491.             // set the owning side to null (unless already changed)
  492.             if ($loadInvoiceProduct->getPreOrderProduct() === $this) {
  493.                 $loadInvoiceProduct->setPreOrderProduct(null);
  494.             }
  495.         }
  496.         return $this;
  497.     }
  498.     public function getAccount(): ?Accounts
  499.     {
  500.         return $this->account;
  501.     }
  502.     public function setAccount(?Accounts $account): self
  503.     {
  504.         $this->account $account;
  505.         return $this;
  506.     }
  507.     public function isSynced(): ?bool
  508.     {
  509.         return $this->synced;
  510.     }
  511.     public function setSynced(?bool $synced): self
  512.     {
  513.         $this->synced $synced;
  514.         return $this;
  515.     }
  516.     #[ORM\PrePersist]
  517.     public function setCreatedAtValue(): void
  518.     {
  519.         $this->dateEntered = new \DateTime();
  520.     }
  521.     // #[ORM\PrePersist]
  522.     #[ORM\PreUpdate]
  523.     public function setUpdatedAtValue(): void
  524.     {
  525.         $this->dateModified = new \DateTime();
  526.     }
  527.     public function getClient(): ?User
  528.     {
  529.         return $this->client;
  530.     }
  531.     public function setClient(?User $client): self
  532.     {
  533.         $this->client $client;
  534.         return $this;
  535.     }
  536.     public function getManager(): ?User
  537.     {
  538.         return $this->manager;
  539.     }
  540.     public function setManager(?User $manager): self
  541.     {
  542.         $this->manager $manager;
  543.         return $this;
  544.     }
  545.     /**
  546.      * @return Collection<int, Fees>
  547.      */
  548.     public function getFees(): Collection
  549.     {
  550.         return $this->fees;
  551.     }
  552.     public function addFee(Fees $fee): self
  553.     {
  554.         if (!$this->fees->contains($fee)) {
  555.             $this->fees->add($fee);
  556.             $fee->addPreOrder($this);
  557.         }
  558.         return $this;
  559.     }
  560.     public function removeFee(Fees $fee): self
  561.     {
  562.         if ($this->fees->removeElement($fee)) {
  563.             $fee->removePreOrder($this);
  564.         }
  565.         return $this;
  566.     }
  567.     public function getCoupons(): ?Coupons
  568.     {
  569.         return $this->coupons;
  570.     }
  571.     public function setCoupons(?Coupons $coupons): self
  572.     {
  573.         $this->coupons $coupons;
  574.         return $this;
  575.     }
  576.     public function getAddress(): ?AccountAddress
  577.     {
  578.         return $this->address;
  579.     }
  580.     public function setAddress(?AccountAddress $address): self
  581.     {
  582.         $this->address $address;
  583.         return $this;
  584.     }
  585.     public function getShippingMethod(): ?string
  586.     {
  587.         return $this->shippingMethod;
  588.     }
  589.     public function setShippingMethod(?string $shippingMethod): static
  590.     {
  591.         $this->shippingMethod $shippingMethod;
  592.         return $this;
  593.     }
  594.     public function isDontCallMe(): ?bool
  595.     {
  596.         return $this->dontCallMe;
  597.     }
  598.     public function setDontCallMe(?bool $dontCallMe): static
  599.     {
  600.         $this->dontCallMe $dontCallMe;
  601.         return $this;
  602.     }
  603.     public function getGuid(): ?string
  604.     {
  605.         return $this->guid;
  606.     }
  607.     public function setGuid(?string $guid): static
  608.     {
  609.         $this->guid $guid;
  610.         return $this;
  611.     }
  612.     public function getUlid(): ?Ulid
  613.     {
  614.         return $this->ulid;
  615.     }
  616.     public function setUlid(Ulid $ulid): static
  617.     {
  618.         $this->ulid $ulid;
  619.         return $this;
  620.     }
  621.     public function getPaymentStatus(): ?string
  622.     {
  623.         return $this->paymentStatus;
  624.     }
  625.     public function setPaymentStatus(?string $paymentStatus): static
  626.     {
  627.         $this->paymentStatus $paymentStatus;
  628.         return $this;
  629.     }
  630.     public function getShippingReceiver(): ?array
  631.     {
  632.         return $this->shippingReceiver;
  633.     }
  634.     public function setShippingReceiver(?array $shippingReceiver): static
  635.     {
  636.         $this->shippingReceiver $shippingReceiver;
  637.         return $this;
  638.     }
  639.     public function getPaymentData(): ?array
  640.     {
  641.         return $this->paymentData;
  642.     }
  643.     public function setPaymentData(?array $paymentData): static
  644.     {
  645.         $this->paymentData $paymentData;
  646.         return $this;
  647.     }
  648. }