/** * Create invoice for order Id * * @param Order $order * * @return Invoice $invoice|false * */ public function createInvoiceForOrder(Order $order) { if ($order) { if (!$order->getInvoice()) { $invoice = new Invoice(); $this->em->persist($invoice); $this->em->flush(); // Update order data $order->setInvoice($invoice); $this->em->persist($order); $this->em->flush(); return $invoice; } } return false; }
/** * Create empty order * * @param User $user * @param User $seller * @param string $currencyCode * @param mixed $orderInfo * * @return Order $order */ public function createEmptyOrder(User $user, User $seller, $currencyCode, $orderInfo) { $em = $this->getEntityManager(); $order = new Order(); $order->setTotalAmount(0); $order->setLocale($orderInfo['locale']); $order->setUser($user); $order->setSeller($seller); $order->setCurrency($currencyCode); $order->setStatus('new'); $order->setPaymentMethod($orderInfo['payment_method']); $order->setCountry($orderInfo['billing_country']); $order->setRegion($orderInfo['billing_region']); $order->setCity($orderInfo['billing_city']); $order->setPhone($orderInfo['billing_phone']); $order->setContent($orderInfo['billing_comment']); $em->persist($order); $em->flush(); return $order; }