예제 #1
0
        // POST:/Edit
        public ActionResult Edit(int id, int quantity)
        {
            if (!Request.IsAuthenticated)
            {
                ShoppingCart cart = (ShoppingCart)Session["sessioncart"];
                /*recherche si le produit est deja sur une ligne du cart*/
                var knvquery = from KeyValuePair <int, CartItem> knv in cart.CartLine.ToList()
                               where knv.Value.productid == id
                               select knv;

                if (cart.CartLine.Any(a => a.Value.productid == id))
                {
                    //cart.CartLine.First(a => a.Value.productid == productId).Value.quantity
                }

                if (knvquery.Count() != 0)
                {
                    CartItem cItemToUpdate = knvquery.First().Value;


                    cItemToUpdate.quantity = quantity;
                }
                else
                {
                    CartItem ci = new CartItem();
                    //ci.productid = id;
                    var query = from p in dc.Products
                                where p.ProductID == id
                                select p;
                    // ci.productname = query.First().ProductName;
                    ci.product  = query.First();
                    ci.price    = query.First().Prices.FirstOrDefault().PriceValue;
                    ci.quantity = quantity;

                    cart.AddCartLine(ci);
                }
                return(RedirectToAction("Index", "Cart"));
            }

            /*Sinon, ie. s'il est authentified, on va
             * editer la db*/
            else
            {
                return(RedirectToAction("Index", "Home"));
            }
        }