public ViewResult DeleteProduct(int itemId)
        {
            EFItemsRepository repo = new EFItemsRepository(context);

            repo.DeleteCartItem(itemId);
            return(View("Cart", repo.CartItems));
        }
        public ViewResult AddProduct(int itemId)
        {
            EFItemsRepository itemRepo = new EFItemsRepository(context);
            Item item = itemRepo.Items.FirstOrDefault((item) => item.ItemID == itemId);

            itemRepo.SaveCartItem(item);
            TempData["message"] = $"{item.ItemName} has been added to cart.";
            return(View("Home", itemRepo.Items));
        }
        public IActionResult EditProduct(Item product)
        {
            EFItemsRepository repo = new EFItemsRepository(context);

            if (ModelState.IsValid)
            {
                repo.SaveItem(product);
                TempData["message"] = $"{product.ItemName} has been saved";
                return(RedirectToAction("Index"));
            }
            else
            {
                // There is something wrong with the data values
                return(View("Edit", product));
            }
        }
        public IActionResult Index()
        {
            EFItemsRepository repo = new EFItemsRepository(context);

            return(View("Cart", repo.CartItems));
        }
        // Edit Action
        public ViewResult EditProduct(int itemId)
        {
            EFItemsRepository repo = new EFItemsRepository(context);

            return(View("Edit", repo.Items.FirstOrDefault(p => p.ItemID == itemId)));
        }
        public ViewResult Home()
        {
            EFItemsRepository repo = new EFItemsRepository(context);

            return(View(repo.Items));
        }
        public ViewResult Index()
        {
            EFItemsRepository repo = new EFItemsRepository(context);

            return(View("Home", repo.Items));
        }
        public ViewResult FilterProducts(string categoryName)
        {
            EFItemsRepository repo = new EFItemsRepository(context);

            return(View("Home", repo.Items.Where(x => x.Category == categoryName).OrderBy(x => x)));
        }