public IActionResult UpdateCartItem(int id, int q) { if (ModelState.IsValid) { const string keyName = "cartData"; var data = HttpContext.Session.GetString(keyName); List <MapCartData> cartDatas; if (string.IsNullOrEmpty(data)) { return(RedirectToAction("Index", "Home")); } else { var cache = HttpContext.Session.GetString(keyName); cartDatas = JsonConvert.DeserializeObject <List <MapCartData> >(cache); } MapCartData cartData = cartDatas.SingleOrDefault(c => c.HamperId == id); if (cartData == null) { return(RedirectToAction("Cart", "User")); } cartDatas.Remove(cartData); cartData.Quantity = q; cartDatas.Add(cartData); HttpContext.Session.SetString(keyName, JsonConvert.SerializeObject(cartDatas)); return(RedirectToAction("Cart", "User")); } return(RedirectToAction("Cart", "User")); }
public IActionResult Index(int id, int q) { if (q <= 0 || id <= 0) { return(RedirectToAction("Index", "Home")); } if (ModelState.IsValid) { var hamper = _hamperService.GetSingle(h => h.HamperId == id); if (hamper == null) { return(RedirectToAction("Index", "Home")); } const string keyName = "cartData"; MapCartData cartData = new MapCartData { HamperId = id, HamperName = hamper.HamperName, Cost = hamper.Cost, Quantity = q }; List <MapCartData> cartDatas = new List <MapCartData>(); var data = HttpContext.Session.GetString(keyName); if (string.IsNullOrEmpty(data)) { cartDatas.Add(cartData); HttpContext.Session.SetString(keyName, JsonConvert.SerializeObject(cartDatas)); } else { var cache = HttpContext.Session.GetString(keyName); cartDatas = JsonConvert.DeserializeObject <List <MapCartData> >(cache); cartDatas.Add(cartData); HttpContext.Session.SetString(keyName, JsonConvert.SerializeObject(cartDatas)); } return(RedirectToAction("Cart", "User")); } return(RedirectToAction("Index", "Home")); }