示例#1
0
 /**
  * @return static
  */
 public function withProducts(Pricing $pricing)
 {
     foreach ($this->entity->getProducts() as $product) {
         $this->entityDTO->products[] = $this->dtoBuilderFactory->getProductDTOBuilder($product)->withAllData($pricing)->build();
     }
     return $this;
 }
 public function handle(GetRandomProductsQuery $query)
 {
     $products = $this->productService->getRandomProducts($query->getRequest()->getLimit());
     foreach ($products as $product) {
         $query->getResponse()->addProductDTOBuilder($this->dtoBuilderFactory->getProductDTOBuilder($product));
     }
 }
 /**
  * @return static
  */
 public function withProduct()
 {
     $product = $this->entity->getProduct();
     if ($product !== null) {
         $this->entityDTO->product = $this->dtoBuilderFactory->getProductDTOBuilder($product)->build();
     }
     return $this;
 }
 public function handle(GetProductsByTagQuery $query)
 {
     $paginationDTO = $query->getRequest()->getPaginationDTO();
     $pagination = new Pagination($paginationDTO->maxResults, $paginationDTO->page);
     $products = $this->productService->getProductsByTagId($query->getRequest()->getTagId(), $pagination);
     $query->getResponse()->setPaginationDTOBuilder($this->dtoBuilderFactory->getPaginationDTOBuilder($pagination));
     foreach ($products as $product) {
         $query->getResponse()->addProductDTOBuilder($this->dtoBuilderFactory->getProductDTOBuilder($product));
     }
 }
 public function handle(ListProductsQuery $query)
 {
     $paginationDTO = $query->getRequest()->getPaginationDTO();
     $pagination = new Pagination($paginationDTO->maxResults, $paginationDTO->page);
     $tags = $this->tagService->getAllProducts($query->getRequest()->getQueryString(), $pagination);
     $query->getResponse()->setPaginationDTOBuilder($this->dtoBuilderFactory->getPaginationDTOBuilder($pagination));
     foreach ($tags as $tag) {
         $query->getResponse()->addProductDTOBuilder($this->dtoBuilderFactory->getProductDTOBuilder($tag));
     }
 }
 public function __construct(OrderItem $orderItem, DTOBuilderFactoryInterface $dtoBuilderFactory)
 {
     $this->entity = $orderItem;
     $this->dtoBuilderFactory = $dtoBuilderFactory;
     $this->entityDTO = $this->getEntityDTO();
     $this->setId();
     $this->setTime();
     $this->entityDTO->quantity = $this->entity->getQuantity();
     $this->entityDTO->sku = $this->entity->getSku();
     $this->entityDTO->name = $this->entity->getName();
     $this->entityDTO->discountNames = $this->entity->getDiscountNames();
     $this->entityDTO->areAttachmentsEnabled = $this->entity->areAttachmentsEnabled();
     if ($this->entity->getPrice() !== null) {
         $this->entityDTO->price = $this->dtoBuilderFactory->getPriceDTOBuilder($orderItem->getPrice())->withAllData()->build();
     }
     if ($this->entity->getProduct() !== null) {
         $this->entityDTO->shippingWeight = $this->entity->getShippingWeight();
         $this->entityDTO->quantityShippingWeight = $this->entity->getQuantityShippingWeight();
         $this->entityDTO->product = $this->dtoBuilderFactory->getProductDTOBuilder($this->entity->getProduct())->withTags()->build();
     }
 }
 /**
  * @return static
  */
 public function withProduct(Pricing $pricing)
 {
     $this->entityDTO->product = $this->dtoBuilderFactory->getProductDTOBuilder($this->entity->getProduct())->withTags()->withProductQuantityDiscounts($pricing)->build();
     return $this;
 }
 public function handle(GetProductQuery $query)
 {
     $product = $this->productService->findOneById($query->getRequest()->getProductId());
     $query->getResponse()->setProductDTOBuilder($this->dtoBuilderFactory->getProductDTOBuilder($product));
 }
 /**
  * @param PricingInterface $pricing
  * @return static
  */
 public function withProduct(PricingInterface $pricing)
 {
     $this->entityDTO->product = $this->dtoBuilderFactory->getProductDTOBuilder($this->entity->getProduct())->withPrice($pricing)->build();
     return $this;
 }
 /**
  * @return static
  */
 public function withProduct()
 {
     $this->entityDTO->product = $this->dtoBuilderFactory->getProductDTOBuilder($this->entity->getProduct())->withTags()->build();
     return $this;
 }