public async Task <IActionResult> AddIngredient(EditDishViewModel mdl)
        {
            // Check if the state is valid, see EditDishViewModel for valid attributes
            if (string.IsNullOrWhiteSpace(mdl.NewIngredient))
            {
                mdl.Dish = await _dishService.GetDishAsync(mdl.Dish.MatrattId);

                mdl.Categories = await _dishService.GetDishCategoriesAsync();

                mdl.Ingredients = await _dishService.GetDishIngredientsAsync();

                ModelState.AddModelError("NewIngredient", "Namnet får endast innehålla a-ö.");
                return(PartialView("_AddIngredientPartialView", mdl));
            }

            // Save new ingredient and attach it to the dish
            await _dishService.AddIngredientToDish(mdl.NewIngredient, mdl.Dish.MatrattId);

            // Refill the ViewModel and return
            mdl.Dish = await _dishService.GetDishAsync(mdl.Dish.MatrattId);

            mdl.NewIngredient = string.Empty;
            mdl.Categories    = await _dishService.GetDishCategoriesAsync();

            mdl.Ingredients = await _dishService.GetDishIngredientsAsync();

            return(PartialView("_AddIngredientPartialView", mdl));
        }
        public async Task <IActionResult> AddIngredient(int dishID, int ingredientID)
        {
            var result = await _dishService.AddIngredientToDish(dishID, ingredientID);

            if (result == false)
            {
                ViewBag.IngredientError = "Ingrediensen finns redan i maträtten";
            }

            var model = new EditDishViewModel
            {
                Dish        = _dishService.FetchDish(dishID),
                Ingredients = _dishService.FetchDishIngredients(),
                Categories  = _dishService.FetchDishCategories()
            };

            return(ViewComponent("EditDishIngredients", model));
        }