public ActionResult ListProducers(int?page, int?itemsPerPage, string sortOrder, string currentFilter, string searchString) { if (!isAdmin()) { return(RedirectToAction("LogIn", "Main")); } ViewBag.CurrentSort = sortOrder; ViewBag.IdSortParm = String.IsNullOrEmpty(sortOrder) ? "id_desc" : ""; ViewBag.NameSortParm = sortOrder == "Name" ? "name_desc" : "Name"; if (searchString != null) { page = 1; } else { searchString = currentFilter; } ViewBag.CurrentFilter = searchString; List <Producer> allProducers = _categoryBLL.getAllProducers(null); switch (sortOrder) { case "id_desc": allProducers = allProducers.OrderByDescending(s => s.id).ToList(); break; case "name_desc": allProducers = allProducers.OrderByDescending(s => s.name).ToList(); break; case "Name": allProducers = allProducers.OrderBy(s => s.name).ToList(); break; default: allProducers = allProducers.OrderBy(s => s.id).ToList(); break; } List <ProducerInfo> list = new List <ProducerInfo>(); foreach (var item in allProducers) { list.Add( new ProducerInfo() { prodId = item.id, prodName = item.name }); } return(View(list.ToPagedList(pageNumber: page ?? 1, pageSize: itemsPerPage ?? 15))); }