Esempio n. 1
0
 /**
  * @param ObjectManager $manager
  * @param string $name
  * @param array $orderData
  * @return Order
  */
 protected function createOrder(ObjectManager $manager, $name, array $orderData)
 {
     /** @var User $user */
     $user = $this->getReference($orderData['user']);
     if (!$user->getOrganization()) {
         $user->setOrganization($manager->getRepository('OroOrganizationBundle:Organization')->findOneBy([]));
     }
     /** @var AccountUser $accountUser */
     $accountUser = $manager->getRepository('OroB2BAccountBundle:AccountUser')->findOneBy(['username' => $orderData['accountUser']]);
     /** @var PaymentTerm $paymentTerm */
     $paymentTerm = $this->getReference($orderData['paymentTerm']);
     $order = new Order();
     $order->setIdentifier($name)->setOwner($user)->setOrganization($user->getOrganization())->setPaymentTerm($paymentTerm)->setShipUntil(new \DateTime())->setCurrency($orderData['currency'])->setPoNumber($orderData['poNumber'])->setSubtotal($orderData['subtotal'])->setAccount($accountUser->getAccount())->setAccountUser($accountUser);
     $manager->persist($order);
     $this->addReference($name, $order);
     return $order;
 }