// GET: /Shift/ public ActionResult Index(string sortOrder, string searchString, string currentFilter, int? page) { ViewBag.CurrentSort = sortOrder; ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "name_desc" : ""; if (searchString != null) { page = 1; } else { searchString = currentFilter; } ViewBag.CurrentFilter = searchString; User LoggedInUser = Session["LoggedUser"] as User; QueryBuilder qb = new QueryBuilder(); string query = qb.QueryForLocationSegeration(LoggedInUser); DataTable dt = qb.GetValuesfromDB("select * from Shift " + query); List<Shift> shift1 = dt.ToList<Shift>(); var shift = shift1.AsQueryable(); if (!String.IsNullOrEmpty(searchString)) { shift = shift.Where(s => s.ShiftName.ToUpper().Contains(searchString.ToUpper())); } switch (sortOrder) { case "name_desc": shift = shift.OrderByDescending(s => s.ShiftName); break; default: shift = shift.OrderBy(s => s.ShiftName); break; } int pageSize = 8; int pageNumber = (page ?? 1); return View(shift.ToPagedList(pageNumber, pageSize)); }