// GET: /<controller>/ public IActionResult Index() { CheeseListViewModel model = new CheeseListViewModel { Cheeses = CheeseData.GetAll() }; return(View(model)); }
// GET: /<controller>/ public IActionResult Index(string sortOrder, string searchString, string currentFilter, int?page) { ViewData["NameSortParm"] = String.IsNullOrEmpty(sortOrder) ? "name_desc" : ""; if (searchString != null) { page = 1; } else { searchString = currentFilter; } ViewData["CurrentFilter"] = searchString; CheeseListViewModel model = new CheeseListViewModel() { // Cheeses = CheeseData.GetAll() Cheeses = _database.Cheeses }; if (!String.IsNullOrEmpty(searchString)) { model.Cheeses = model.Cheeses.Where(s => s.Name.ToLower().Contains(searchString.ToLower())).ToList(); } switch (sortOrder) { case "name_desc": model.Cheeses = model.Cheeses.OrderByDescending(s => s.Name).ToList(); break; case "country_desc": model.Cheeses.OrderByDescending(s => s.Name); break; case "year_desc": model.Cheeses.OrderByDescending(s => s.Name); break; } int pageSize = 3; return(View(PaginatedCheeseList <Cheese> .Create(model.Cheeses.AsQueryable(), page ?? 1, pageSize))); }