/** * @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; }