public async Task <IActionResult> Edit(string id)
        {
            try
            {
                var allIngredients = await _ingredientServices.GetAllIngredients();

                var cocktailDto = await _cocktailServices.FindCocktailById(id);

                var cocktailVM = cocktailDto.MapToCocktailViewModel();
                var ingr       = await _ingredientServices.GetAllIngredientsNames();

                cocktailVM.IngredientsNames.Add(new SelectListItem("Choose an igredient", ""));
                cocktailVM.IngredientsNames.AddRange(ingr.Select(i => new SelectListItem(i, i)));
                cocktailVM.Ingredients = new List <CocktailComponentViewModel>();
                for (int i = 0; i < 10; i++)
                {
                    cocktailVM.Ingredients.Add(new CocktailComponentViewModel());
                }
                cocktailVM.AllIngredients = allIngredients.Select(i => new SelectListItem(i.Name, i.Id)).ToList();

                return(View(cocktailVM));
            }
            catch (Exception ex)
            {
                _toast.AddErrorToastMessage(ex.Message);
                ViewBag.ErrorTitle = "";
                return(View("Error"));
            }
        }
        public async Task <IActionResult> ListCocktails(int?currentPage, string searchCriteria)
        {
            ViewData["SearchParm"] = searchCriteria;

            var cocktails = await this.cocktailServices.GetIndexPageCocktails(currentPage ?? 1, searchCriteria);

            var ingredients = await ingredientServices.GetAllIngredients(null);

            var cocktailViewModel = cocktails.GetViewModels();
            var paged             = new CocktailViewModel()
            {
                IngredientsToChoose = ingredients.Select(c => new SelectListItem(c.Name, c.Name)).ToList(),
                currentPage         = currentPage ?? 1,
                items      = cocktailViewModel,
                TotalPages = this.cocktailServices.GetCount(10)
            };

            return(View(paged));
        }