public string Add(CartAddView model, string cartJson) { if (string.IsNullOrEmpty(cartJson)) { Cart cart = new Cart(); CartItem cartItem = new CartItem { ProductId = int.Parse(model.ProductId), Count = int.Parse(model.Count), }; cart.CartItems.Add(cartItem); return(Newtonsoft.Json.JsonConvert.SerializeObject(cart)); } else { var cart = Newtonsoft.Json.JsonConvert.DeserializeObject <Cart>(cartJson); bool updated = false; for (var i = 0; i < cart.CartItems.Count; i++) { var item = cart.CartItems.ElementAt(i); if (item.ProductId == int.Parse(model.ProductId)) { cart.CartItems.Remove(item); item.Count += int.Parse(model.Count); cart.CartItems.Add(item); updated = true; break; } } if (!updated) { CartItem cartItem = new CartItem { ProductId = int.Parse(model.ProductId), Count = int.Parse(model.Count), }; cart.CartItems.Add(cartItem); } return(Newtonsoft.Json.JsonConvert.SerializeObject(cart)); } }
public ActionResult Add(CartAddView model) { if (Session["UserId"] == null) { return(RedirectToAction("Index", "Home")); } var cart = Session["Cart"]; var cartJson = ""; if (cart != null) { cartJson = cart.ToString(); } var cartStr = cartService.Add(model, cartJson); Session["Cart"] = cartStr; return(RedirectToAction("Index", "Home")); }
public string Add(CartAddView model, string cartJson) { if (string.IsNullOrEmpty(cartJson)) { Cart cart = new Cart(); CartItem cartItem = new CartItem { GameId = int.Parse(model.GameId), }; cart.CartItems.Add(cartItem); return(Newtonsoft.Json.JsonConvert.SerializeObject(cart)); } else { var cart = Newtonsoft.Json.JsonConvert.DeserializeObject <Cart>(cartJson); foreach (CartItem item in cart.CartItems) { if (item.GameId == int.Parse(model.GameId)) { return(Newtonsoft.Json.JsonConvert.SerializeObject(cart)); } } CartItem cartItem = new CartItem { GameId = int.Parse(model.GameId), }; cart.CartItems.Add(cartItem); return(Newtonsoft.Json.JsonConvert.SerializeObject(cart)); } }