Dumplie\Customer\Domain\OrderItem::createFromProduct PHP Method

createFromProduct() public static method

public static createFromProduct ( Product $product, integer $quantity ) : OrderItem
$product Product
$quantity integer
return OrderItem
    public static function createFromProduct(Product $product, int $quantity) : OrderItem
    {
        return new self($product->sku(), $product->price(), $quantity);
    }

Usage Example

Exemplo n.º 1
0
 /**
  * @param OrderId $id
  * @param Products $products
  * @param Carts $carts
  * @return Order
  * @throws EmptyCartException
  * @throws ProductNotFoundException
  */
 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());
 }