Example #1
0
 /**
  * {@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();
 }
Example #2
0
 /**
  * @param Order $entity
  *
  * {@inheritdoc}
  */
 protected function afterProcessEntity($entity)
 {
     if (!$entity->getUpdatedAt() && $entity->getCreatedAt()) {
         $entity->setUpdatedAt($entity->getCreatedAt());
     }
     /** @var Order $order */
     $this->processCart($entity);
     $this->processItems($entity);
     $this->processAddresses($entity);
     $this->processCustomer($entity, $entity->getCustomer());
     $this->existingEntity = null;
     $this->appendDataToContext(self::CONTEXT_ORDER_POST_PROCESS_IDS, $entity->getIncrementId());
     return parent::afterProcessEntity($entity);
 }
Example #3
0
 /**
  * @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;
 }
Example #4
0
 /**
  * @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;
 }