public async Task <IActionResult> Search(int id, [FromQuery] CocktailSearchViewModel vm) { var allIngredients = (await ingredientServices.GetAllDTOAsync()); vm.AllIngredients = new List <SelectListItem>(); vm.AllIngredients.Add(new SelectListItem("Select...", "")); allIngredients.ForEach(c => vm.AllIngredients.Add(new SelectListItem(c.Name, c.Id.ToString()))); if (string.IsNullOrEmpty(vm.NameKey) && vm.MinRating == null && vm.IngredientId == null) { return(View(vm)); } var searchParameters = new CocktailSearchDTO { NameKey = vm.NameKey, MinRating = vm.MinRating, IngredientId = vm.IngredientId }; vm.Paging.Count = await cocktailServices.SerchResultCountAsync(searchParameters); vm.Paging.ItemsPerPage = itemsPerPage; vm.Paging.CurrentPage = id == 0 ? 1 : id; vm.Result = (await cocktailServices.SearchAsync(searchParameters, itemsPerPage, vm.Paging.CurrentPage)) .Select(b => b.MapToViewModel()); return(View(vm)); }
public async Task <IActionResult> CocktailSearchResults(string keyword, string page, string pageSize) { Tuple <IList <Cocktail>, bool> cocktails; var model = new CocktailSearchViewModel() { Keyword = keyword == null ? "" : keyword, Page = int.Parse(page) }; cocktails = await cocktailService.FindCocktailsForUserAsync(model.Keyword, model.Page, int.Parse(pageSize), null); foreach (var cocktail in cocktails.Item1) { model.Cocktails.Add(new CocktailViewModel(cocktail)); } model.LastPage = cocktails.Item2; return(PartialView("_MagicianCocktailsView", model)); }
public async Task <IActionResult> FavoriteCocktailsResultPartial(string keyword, string pageSize, string page) { var userId = int.Parse(this.User.FindFirst(System.Security.Claims.ClaimTypes.NameIdentifier).Value); Tuple <IList <Cocktail>, bool> cocktails; var model = new CocktailSearchViewModel() { Keyword = keyword == null ? "" : keyword, Page = int.Parse(page) }; cocktails = await cocktailService.FindCocktailsForUserAsync(model.Keyword, model.Page, int.Parse(pageSize), userId); foreach (var cocktail in cocktails.Item1) { model.Cocktails.Add(new CocktailViewModel(cocktail)); } model.LastPage = cocktails.Item2; return(PartialView("_FavoriteCocktailsResultView", model)); }
public async Task <IActionResult> CocktailSearchResults(string keyword, string criteria, string order, string page, string rating, string sortOrder, string mainIngredient, string rowSize) { Tuple <IList <Cocktail>, bool> cocktails; var model = new CocktailSearchViewModel() { Keyword = keyword == null ? "" : keyword, SelectedCriteria = criteria, SelectedOrderBy = order == null ? "" : order, Searched = true, Page = int.Parse(page), RowSize = int.Parse(rowSize) }; var ing = mainIngredient == null ? "" : mainIngredient; var rate = rating == null ? "1;5" : rating; cocktails = await cocktailService.FindCocktailsForCatalogAsync(model.Keyword, model.SelectedCriteria, model.Page, model.SelectedOrderBy, rate, sortOrder, ing, 12); foreach (var cocktail in cocktails.Item1) { model.Cocktails.Add(new CocktailViewModel(cocktail)); } model.LastPage = cocktails.Item2; return(PartialView("_CocktailSearchView", model)); }