public function load(ObjectManager $em) { $product_transaction1 = new ProductTransaction(); $product_transaction1->setProduct($em->merge($this->getReference('product-asus_cp6130'))); $product_transaction1->setTransaction($em->merge($this->getReference('transaction-transaction1'))); $product_transaction1->setQuantity(1); $product_transaction2 = new ProductTransaction(); $product_transaction2->setProduct($em->merge($this->getReference('product-asus_cp6130'))); $product_transaction2->setTransaction($em->merge($this->getReference('transaction-transaction2'))); $product_transaction2->setQuantity(2); $product_transaction3 = new ProductTransaction(); $product_transaction3->setProduct($em->merge($this->getReference('product-samsung_series3'))); $product_transaction3->setTransaction($em->merge($this->getReference('transaction-transaction2'))); $product_transaction3->setQuantity(2); $product_transaction4 = new ProductTransaction(); $product_transaction4->setProduct($em->merge($this->getReference('product-asus_cp6130'))); $product_transaction4->setTransaction($em->merge($this->getReference('transaction-transaction3'))); $product_transaction4->setQuantity(2); $product_transaction5 = new ProductTransaction(); $product_transaction5->setProduct($em->merge($this->getReference('product-samsung_series3'))); $product_transaction5->setTransaction($em->merge($this->getReference('transaction-transaction3'))); $product_transaction5->setQuantity(1); $em->persist($product_transaction1); $em->persist($product_transaction2); $em->persist($product_transaction3); $em->persist($product_transaction4); $em->persist($product_transaction5); $em->flush(); }
/** * Creates a new Transaction entity. * */ public function createAction(Request $request) { $entity = new Transaction(); $form = $this->createCreateForm($entity); $form->handleRequest($request); $session = $this->getRequest()->getSession(); $result = $session->get('shipping_cost'); $result ? $session->get('shipping_cost') : 0; if ($request->isXmlHttpRequest()) { //$session->remove('shipping_cost'); $session->set('shipping_cost', $this->getRequest()->get('shipping_cost')); $result = $session->get('shipping_cost'); return $this->render('ApplicationShopBundle:Order:_cartAjax.html.twig', array('shipping_cost' => $result)); } $products = $session->get('product_cart'); if (!$products) { return $this->redirect($this->generateUrl('application_order_cart')); } if ($form->isValid()) { $em = $this->getDoctrine()->getManager(); $transaction_quantity = null; $transaction_subtotal = null; foreach ($products as $product) { $p = $em->getRepository('ApplicationShopBundle:Product')->find($product['id']); $product_transaction = new ProductTransaction(); $product_transaction->setProduct($p); $product_transaction->setTransaction($entity); $product_transaction->setQuantity($product['quantity']); $em->persist($product_transaction); $transaction_quantity += $product['quantity']; $transaction_subtotal += $product['subtotal']; } $entity->setQuantity($transaction_quantity); $entity->setSubtotal($transaction_subtotal); $entity->setShippingCost($result); $entity->setTotal($transaction_subtotal + $entity->getShippingCost()); $entity->setStatus(1); $em->persist($entity); $em->flush(); $session->remove('shipping_cost'); $session->remove('product_cart'); return $this->redirect($this->generateUrl('application_order_checkout_complete', array('id' => $entity->getId()))); } return $this->render('ApplicationShopBundle:Order:checkout.html.twig', array('entity' => $entity, 'form' => $form->createView(), 'shipping_cost' => $result)); }