getForCart() public method

public getForCart ( CartId $cartId ) : Checkout
$cartId CartId
return Checkout
コード例 #1
0
ファイル: PlaceOrderHandler.php プロジェクト: dumplie/dumplie
 /**
  * @param PlaceOrder $command
  * @throws OrderAlreadyExistsException
  * @throws \Dumplie\Customer\Domain\Exception\EmptyCartException
  */
 public function handle(PlaceOrder $command)
 {
     $cartId = new CartId($command->cartId());
     $orderId = new OrderId($command->orderId());
     if ($this->orders->exists($orderId)) {
         throw OrderAlreadyExistsException::withId($orderId);
     }
     $checkout = $this->checkouts->getForCart($cartId);
     $order = $checkout->placeOrder($orderId, $this->products, $this->carts);
     $this->orders->add($order);
     $this->checkouts->removeForCart($cartId);
     $this->carts->remove($cartId);
     $this->eventLog->log(new CustomerPlacedOrder((string) $orderId));
 }
コード例 #2
0
 /**
  * @param ChangeShippingAddress $command
  * @throws InvalidArgumentException
  */
 public function handle(ChangeShippingAddress $command)
 {
     $shippingAddress = new Address($command->name(), $command->street(), $command->postCode(), $command->city(), $command->countryIso2Code());
     $checkout = $this->checkouts->getForCart(new CartId($command->cartId()));
     $checkout->changeShippingAddress($shippingAddress);
 }