/** * @param Cart $cart * @param Customer $customer * * @return Order */ protected function createOrder(Cart $cart, Customer $customer) { $order = new Order(); $order->setChannel($this->integration); $order->setDataChannel($this->channel); $order->setStatus('open'); $order->setIncrementId('one'); $order->setCreatedAt(new \DateTime('now')); $order->setUpdatedAt(new \DateTime('now')); $order->setCart($cart); $order->setStore($this->store); $order->setCustomer($customer); $order->setCustomerEmail('*****@*****.**'); $order->setDiscountAmount(34.4); $order->setTaxAmount(12.47); $order->setShippingAmount(5); $order->setTotalPaidAmount(17.85); $order->setTotalInvoicedAmount(11); $order->setTotalRefundedAmount(4); $order->setTotalCanceledAmount(0); $order->setShippingMethod('some unique shipping method'); $order->setRemoteIp('unique ip'); $order->setGiftMessage('some very unique gift message'); $order->setOwner($this->getUser()); $order->setOrganization($this->organization); $this->em->persist($order); return $order; }
/** * @param ObjectManager $om * @param Store $store * @param Integration $integration * @param Customer $customer * @param string $status * @param Cart $cart * @param string $paymentMethod * @param string $paymentMethodDetails * @param mixed $origin * * @return Order */ protected function generateOrder(ObjectManager $om, Store $store, Integration $integration, Customer $customer, $status, Cart $cart, $paymentMethod, $paymentMethodDetails, $origin) { $order = new Order(); $order->setOrganization($this->organization); $order->setChannel($integration); $order->setCustomer($customer); $order->setOwner($customer->getOwner()); $order->setStatus($status); $order->setStore($store); $order->setStoreName($store->getName()); $order->setIsGuest(0); $order->setIncrementId((string) $origin); $order->setCreatedAt(new \DateTime('now')); $order->setUpdatedAt(new \DateTime('now')); $order->setCart($cart); $order->setCurrency($cart->getBaseCurrencyCode()); $order->setTotalAmount($cart->getGrandTotal()); $order->setTotalInvoicedAmount($cart->getGrandTotal()); $order->setDataChannel($this->dataChannel); if ($status == 'Completed') { $order->setTotalPaidAmount($cart->getGrandTotal()); } $order->setSubtotalAmount($cart->getSubTotal()); $order->setShippingAmount(rand(5, 10)); $order->setPaymentMethod($paymentMethod); $order->setPaymentDetails($paymentMethodDetails); $order->setShippingMethod('flatrate_flatrate'); $address = $this->getOrderAddress($om); $order->addAddress($address); $address->setOwner($order); $om->persist($order); return $order; }