Dumplie\Customer\Domain\Checkout::placeOrder PHP Method

placeOrder() public method

public placeOrder ( OrderId $id, Dumplie\Customer\Domain\Products $products, Dumplie\Customer\Domain\Carts $carts ) : Order
$id OrderId
$products Dumplie\Customer\Domain\Products
$carts Dumplie\Customer\Domain\Carts
return Order
    public function placeOrder(OrderId $id, Products $products, Carts $carts) : Order
    {
        $cart = $carts->getById($this->cartId());
        if ($cart->isEmpty()) {
            throw new EmptyCartException();
        }
        $orderItems = [];
        foreach ($cart->items() as $item) {
            $product = $products->getBySku($item->sku());
            $orderItems[] = OrderItem::createFromProduct($product, $item->quantity());
        }
        return new Order($id, $orderItems, $this->billingAddress(), $this->shippingAddress());
    }