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();
 }
Example #2
0
 /**
  * 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));
 }