//[Route("~/search/{query}")] public ActionResult Index(string query) { int resultCountPages = _context.GetSearchResultCountPages(CountPages, query); if (String.IsNullOrEmpty(query) || query.Length < 3 || query.Length > 50 || resultCountPages == 0) { var modelEmpty = new SearchIndexVm(); TempData.Remove("searchQuery"); return(View(modelEmpty)); } TempData["searchQuery"] = query; var model = new SearchIndexVm { SearchQuery = query, Pagination = new PaginationVm { Id = Guid.NewGuid(), IdBox = "#searchResultBox", CountPages = resultCountPages, CountMaxVisiblePages = 7, Url = Url.Action("SearchResults", "Search") } }; return(View(model)); }
public async Task <IActionResult> Search(decimal minAlc, decimal maxAlc, string startWith, bool activeBrewed) { if (ModelState.IsValid) { var searchBeers = await _context.Beers.Where(b => b.AlcoholByVolume >= (double)minAlc && b.AlcoholByVolume <= (double)maxAlc && b.Name.ToUpper().StartsWith (startWith) && b.IsActivelyBrewed == activeBrewed) .Include(b => b.Flavors) .ThenInclude(fl => fl.Flavor) .ToListAsync(); SearchIndexVm vm = new SearchIndexVm { Bieren = searchBeers }; if (searchBeers.Count == 0) { return(View("Search", vm)); } else { return(View("SearchResults", vm)); } } return(View()); }