public IActionResult ShoppingCartAction(IFormCollection form) { var key = form.Keys.FirstOrDefault(k => k.Contains("-")); var dashPos = key.IndexOf("-"); var action = key.Substring(0, dashPos); var id = int.Parse(key.Substring(dashPos + 1)); switch (action) { case "add": _cartService.AddItemForCurrentSession(HttpContext.Session, id); break; case "remove": _cartService.DeleteItemForCurrentSession(HttpContext.Session, id); break; case "increaseQuantity": _cartService.IncreaseCartItemQuantity(id); break; case "decreaseQuantity": _cartService.DecreaseCartItemQuantity(id); break; } return(RedirectToAction("Index")); }