public async Task <IActionResult> SearchCocktails(SearchCocktailViewModel viewModel) { if (viewModel.AvgRating != null) { viewModel.SearchResults = (await _cocktailServices.SearchByMultipleCriteriaAsync(viewModel.Name, viewModel.Ingredient, viewModel.IncludeOnlyAlcoholicDrinks)).Select(c => c.MapToViewModel()).Where(b => b.Rating == viewModel.AvgRating).ToList(); } else { viewModel.SearchResults = (await _cocktailServices.SearchByMultipleCriteriaAsync(viewModel.Name, viewModel.Ingredient, viewModel.IncludeOnlyAlcoholicDrinks)).Select(c => c.MapToViewModel()).ToList(); } return(View(viewModel)); }
public async Task <IActionResult> Search([FromQuery] SearchCocktailViewModel model) { try { if (string.IsNullOrWhiteSpace(model.SearchName)) { return(View()); } var result = await this.cocktailService.SearchAsync(model.SearchName, model.SearchByName, model.SearchByRating, model.Value); model.SearchResults = result .Select(b => this.cocktailVMMapper.MapFrom(b)) .ToList(); return(View(model)); } catch (Exception) { this.toastNotification.AddWarningToastMessage("Something went wrong, please try again"); return(View()); } }