vendor/bitbag/product-bundle-plugin/src/Dto/AddProductBundleToCartDto.php line 20

Open in your IDE?
  1. <?php
  2. /*
  3.  * This file was created by developers working at BitBag
  4.  * Do you need more information about us and what we do? Visit our https://bitbag.io website!
  5.  * We are hiring developers from all over the world. Join us and start your new, exciting adventure and become part of us: https://bitbag.io/career
  6.  */
  7. declare(strict_types=1);
  8. namespace BitBag\SyliusProductBundlePlugin\Dto;
  9. use BitBag\SyliusProductBundlePlugin\Command\AddProductBundleItemToCartCommand;
  10. use BitBag\SyliusProductBundlePlugin\Command\ProductCodeAwareInterface;
  11. use BitBag\SyliusProductBundlePlugin\Entity\ProductInterface;
  12. use Doctrine\Common\Collections\ArrayCollection;
  13. use Sylius\Component\Order\Model\OrderInterface;
  14. use Sylius\Component\Order\Model\OrderItemInterface;
  15. final class AddProductBundleToCartDto implements AddProductBundleToCartDtoInterfaceProductCodeAwareInterface
  16. {
  17.     /** @var OrderInterface */
  18.     private $cart;
  19.     /** @var OrderItemInterface */
  20.     private $cartItem;
  21.     /** @var ProductInterface */
  22.     private $product;
  23.     /** @var ArrayCollection */
  24.     private $productBundleItems;
  25.     /**
  26.      * @param AddProductBundleItemToCartCommand[] $productBundleItems
  27.      */
  28.     public function __construct(
  29.         OrderInterface $cart,
  30.         OrderItemInterface $cartItem,
  31.         ProductInterface $product,
  32.         array $productBundleItems
  33.     ) {
  34.         $this->cart $cart;
  35.         $this->cartItem $cartItem;
  36.         $this->product $product;
  37.         $this->productBundleItems = new ArrayCollection($productBundleItems);
  38.     }
  39.     public function getCart(): OrderInterface
  40.     {
  41.         return $this->cart;
  42.     }
  43.     public function setCart(OrderInterface $cart): void
  44.     {
  45.         $this->cart $cart;
  46.     }
  47.     public function getCartItem(): OrderItemInterface
  48.     {
  49.         return $this->cartItem;
  50.     }
  51.     public function setCartItem(OrderItemInterface $cartItem): void
  52.     {
  53.         $this->cartItem $cartItem;
  54.     }
  55.     public function getProduct(): ProductInterface
  56.     {
  57.         return $this->product;
  58.     }
  59.     public function setProduct(ProductInterface $product): void
  60.     {
  61.         $this->product $product;
  62.     }
  63.     public function getProductBundleItems(): ArrayCollection
  64.     {
  65.         return $this->productBundleItems;
  66.     }
  67.     public function getProductCode(): string
  68.     {
  69.         return $this->product->getCode() ?? '';
  70.     }
  71. }