public ViewResult List(string sortOrder, string currentFilter, string searchString, int?page, string PgeSize) { try // handle exogenous exceptions { try // log all exceptions { ViewBag.CurrentSort = sortOrder; ViewBag.CompanyNameSortParm = String.IsNullOrEmpty(sortOrder) ? "CompanyName_desc" : ""; BusinessLayer.Validation pge = new BusinessLayer.Validation(); List <SelectListItem> PgeSizes = pge.PageSize(); //Assigning generic list to ViewBag ViewBag.PgeSizeList = PgeSizes; if (searchString != null) { page = 1; } else { searchString = currentFilter; } ViewBag.CurrentFilter = searchString; ShippersBusinessModelLayers shippersBusinessModelLayers = new ShippersBusinessModelLayers(); List <BusinessModelLayer.Vwshippers> vwshipperss = shippersBusinessModelLayers.GetAllVwshipperss(); if (!String.IsNullOrEmpty(searchString)) { vwshipperss = vwshipperss.Where(s => s.CompanyName.ToString().ToLower().Contains(searchString.ToLower())).ToList(); } switch (sortOrder) { case "CompanyName_desc": vwshipperss = vwshipperss.OrderByDescending(s => s.CompanyName).ToList(); break; //case "!!!": // vwshipperss = vwshipperss.OrderBy(s => s.!!!).ToList(); // break; //case "!!!_desc": // vwshipperss = vwshipperss.OrderByDescending(s => s.!!!).ToList(); // break; default: // CompanyName ascending vwshipperss = vwshipperss.OrderBy(s => s.CompanyName).ToList(); break; } int pageSize = 10; if (PgeSize != null) { Int32.TryParse(PgeSize, out pageSize); } ViewBag.PgeSize = pageSize; int pageNumber = (page ?? 1); return(View(vwshipperss.ToPagedList(pageNumber, pageSize))); } catch (Exception ex) { BusinessLayer.ExceptionLogging exlog = new BusinessLayer.ExceptionLogging(); exlog.SendExcepToDB(ex); throw; } } catch (Exception) { throw; } }