/** * {@inheritdoc} */ public function createOrderFromCart(CartInterface $cart) { $order = $this->create(); $order->setCurrency($cart->getCurrency()); $order->setPaymentMethod($cart->getPaymentMethod()); $order->setShippingMethod($cart->getShippingMethodCost()->getShippingMethod()); $order->setBillingAddress($cart->getBillingAddress()); $order->setShippingAddress($cart->getShippingAddress()); $order->setContactDetails($cart->getContactDetails()); $order->setShop($cart->getShop()); $order->setSessionId($cart->getSessionId()); $order->setClient($cart->getClient()); $order->setCurrentStatus($cart->getPaymentMethod()->getDefaultOrderStatus()); $order->setCoupon($cart->getCoupon()); $this->prepareOrderProducts($cart, $order); $this->prepareOrderShippingDetails($cart, $order); return $order; }