/** * @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; }