// 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")); } }