// GET: Bars/Bars public async Task <IActionResult> Index(string sortOrder, string currentFilter, string searchString, int?page) { ViewBag.CurrentSort = sortOrder; ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "name_desc" : ""; ViewBag.RatingSortParm = sortOrder == "rating" ? "rating_desc" : "rating"; if (searchString != null) { page = 1; } else { searchString = currentFilter; } ViewBag.CurrentFilter = searchString; ViewData["imgPath"] = ImagesPath.ImgsPath; var barDTOs = await barService.GetBarsFiltered(sortOrder, searchString); var barsVMs = barDTOs.Select(b => b.BarDTOtoVM()); int pageSize = 3; int pageNumber = (page ?? 1); return(View(barsVMs.ToPagedList(pageNumber, pageSize))); }