示例#1
0
 /**
  * Create the cookie for an order
  * @param  ShopOrder $order
  */
 private function createCookie(ShopOrder $order)
 {
     $cookieName = $this->container->getParameter('shop.shop_cart');
     $cookie = array();
     foreach ($order->getOrders() as $o) {
         $cookie[$o->getProduct()->getId()] = $o->getCount();
     }
     $value = base64_encode(json_encode($cookie));
     return new Cookie($cookieName, $value, 0, '/', null, false, false);
 }
 /**
  * Update products stocks for a given order
  * 
  * @param  ShopOrder $order         
  * @param  boolean   $deleteOrder   Whether the order is deleted or not
  */
 public function updateStock(ShopOrder $order, $orderDeleted = false)
 {
     foreach ($order->getOrders() as $o) {
         $product = $o->getProduct();
         $stock = $product->getStock();
         if ($orderDeleted) {
             $stock += $o->getCount();
         } else {
             $stock -= $o->getCount();
         }
         $product->setStock($stock);
     }
     $this->_em->flush();
 }