/** * @param CreateOrderFromCartCommand $command * @throws EntityValidatorException */ public function handle(CreateOrderFromCartCommand $command) { $cart = $this->cartService->findOneById($command->getCartId()); $user = $this->userService->findOneById($command->getUserId()); $order = $this->orderService->createOrderFromCart($command->getOrderId(), $user, $cart, $this->cartCalculator, $command->getIp4(), OrderAddressDTOBuilder::createFromDTO($command->getShippingAddressDTO()), OrderAddressDTOBuilder::createFromDTO($command->getBillingAddressDTO()), CreditCardDTOBuilder::createFromDTO($command->getCreditCardDTO())); $this->cartService->delete($cart); }
public function handle(GetOrdersByUserQuery $query) { $orders = $this->orderService->getOrdersByUserId($query->getRequest()->getUserId()); foreach ($orders as $order) { $query->getResponse()->addOrderDTOBuilder($this->dtoBuilderFactory->getOrderDTOBuilder($order)); } }
public function handle(GetOrderQuery $query) { $request = $query->getRequest(); $response = $query->getResponse(); $order = $this->orderService->findOneById($request->getOrderId()); $response->setOrderDTOBuilder($this->dtoBuilderFactory->getOrderDTOBuilder($order)); }
/** * @param UploadFileDTO $uploadFileDTO * @param UuidInterface $orderItemId * @return void */ public function createAttachmentForOrderItem(UploadFileDTO $uploadFileDTO, UuidInterface $orderItemId) { $orderItem = $this->orderService->getOrderItemById($orderItemId); $order = $orderItem->getOrder(); $attachment = $this->createAttachment($uploadFileDTO); $orderItem->addAttachment($attachment); $this->orderService->update($order); }
public function handle(ListOrdersQuery $query) { $paginationDTO = $query->getRequest()->getPaginationDTO(); $pagination = new Pagination($paginationDTO->maxResults, $paginationDTO->page); // TODO: Add query search $queryString = $query->getRequest()->getQueryString(); $orders = $this->orderService->getLatestOrders($pagination); $query->getResponse()->setPaginationDTOBuilder($this->dtoBuilderFactory->getPaginationDTOBuilder($pagination)); foreach ($orders as $order) { $query->getResponse()->addOrderDTOBuilder($this->dtoBuilderFactory->getOrderDTOBuilder($order)); } }
public function testCreateAttachmentForOrderItem() { $order = $this->dummyData->getOrder(); $product = $this->dummyData->getProduct(); $product->enableAttachments(); $orderItem = $this->dummyData->getOrderItem($order, $product); $uploadFileDTO = $this->dummyData->getUploadFileDTO(); $this->orderService->shouldReceive('getOrderItemById')->with($orderItem->getId())->andReturn($orderItem)->once(); $this->fileManager->shouldReceive('saveFile')->with($uploadFileDTO->getFilePath())->andReturn($this->dummyData->getRemoteManagedFile())->once(); $this->attachmentRepository->shouldReceive('create')->once(); $this->orderService->shouldReceive('update')->with($order)->once(); $this->attachmentService->createAttachmentForOrderItem($uploadFileDTO, $orderItem->getId()); }
public function testCreateOrderFromCart() { $cart = $this->getPersistedCart(); $orderId = Uuid::uuid4(); $order = $this->orderService->createOrderFromCart($orderId, $cart->getUser(), $cart, $this->getCartCalculator(), '10.0.0.1', $this->dummyData->getOrderAddress(), $this->dummyData->getOrderAddress(), $this->dummyData->getCreditCard()); $this->assertTrue($order instanceof Order); $this->assertTrue($order->getPayments()[0] instanceof CreditPayment); // TODO: Test reserveProductsFromInventory /** @var OrderCreatedFromCartEvent $event */ $event = $this->fakeEventDispatcher->getDispatchedEvents(OrderCreatedFromCartEvent::class)[0]; $this->assertTrue($event instanceof OrderCreatedFromCartEvent); $this->assertSame($order->getId(), $event->getOrderId()); }
public function handle(GetOrderItemQuery $query) { $orderItem = $this->orderService->getOrderItemById($query->getRequest()->getOrderItemId()); $query->getResponse()->setOrderItemDTOBuilder($this->dtoBuilderFactory->getOrderItemDTOBuilder($orderItem)); }
public function handle(BuyShipmentLabelCommand $command) { $this->orderService->buyShipmentLabel($command->getOrderId(), $command->getOrderItemQtyDTO(), $command->getComment(), $command->getRateExternalId(), $command->getShipmentExternalId()); }
public function handle(AddShipmentTrackingCodeCommand $command) { $this->orderService->addShipmentTrackingCode($command->getOrderId(), $command->getOrderItemQtyDTO(), $command->getComment(), $command->getCarrier(), $command->getTrackingCode()); }
public function handle(SetOrderStatusCommand $command) { $this->orderService->setOrderStatus($command->getOrderId(), OrderStatusType::createById($command->getOrderStatusTypeId())); }