示例#1
0
        //[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));
        }
示例#2
0
        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());
        }