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)); }