public async Task <IActionResult> Edit(int id, FoodItem foodItem)
        {
            if (id != foodItem.FoodItemID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    repository.Update(foodItem);
                    await repository.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!FoodItemExists(foodItem.FoodItemID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }


            var viewModel = new FoodItemEditViewModel()
            {
                FoodItem   = foodItem,
                FoodGroups = ctx.FoodGroups
            };



            return(View(viewModel));
        }
        // GET: FoodItems/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var foodItem = await repository.Find(id.Value);

            if (foodItem == null)
            {
                return(NotFound());
            }

            var viewModel = new FoodItemEditViewModel()
            {
                FoodGroups = ctx.FoodGroups.AsEnumerable(),
                FoodItem   = foodItem
            };

            return(View(viewModel));
        }