/** * {@inheritdoc} */ public function load(ObjectManager $manager) { $userManager = $this->container->get('oro_user.manager'); $admin = $userManager->findUserByEmail(LoadAdminUserData::DEFAULT_ADMIN_EMAIL); $organization = $manager->getRepository('OroOrganizationBundle:Organization')->getFirst(); foreach ($this->orderData as $data) { $entity = new Order(); $entity->setOwner($admin); $entity->setOrganization($organization); $created = new \DateTime('now', new \DateTimeZone('UTC')); $entity->setCreatedAt($created->sub(new \DateInterval($data['createdSub']))); $updated = new \DateTime('now', new \DateTimeZone('UTC')); $entity->setUpdatedAt($updated->sub(new \DateInterval($data['updatedSub']))); $data['channel'] = $this->getReference('integration'); $data['dataChannel'] = $this->getReference('default_channel'); $data['cart'] = $this->getReference('cart'); $data['store'] = $this->getReference('store'); $data['customer'] = $this->getReference('customer'); $this->setEntityPropertyValues($entity, $data, ['reference', 'createdSub', 'updatedSub']); $this->setReference($data['reference'], $entity); $manager->persist($entity); } $manager->remove($this->getReference('order')); $manager->flush(); }
/** * @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; }