public ActionResult IndexNew([DataSourceRequest(Prefix = "ILSMGrid")] DataSourceRequest request) { var list = (IQueryable)null; if (Common.CurrentUser.Admin == true) { if (request.PageSize == 0 ) { request.PageSize = 10; } // Apply paging. if (request.Page > 0) { list = _db.VwIlsmDetails; ViewData["total"] = list.Count(); list = list.OrderByDescending(ilsm => ilsm.ModifiedDate); list = list.Skip((request.Page - 1) * request.PageSize); list = list.Take(request.PageSize); } if (request.Sorts != null) { foreach (SortDescriptor sortDescriptor in request.Sorts) { if (sortDescriptor.SortDirection == ListSortDirection.Ascending) { switch (sortDescriptor.Member) { case "ProjectCoordinator": list = list.OrderBy(ilsm => ilsm.ProjectCoordinator); break; case "BuildingName": list = list.OrderBy(ilsm => ilsm.BuildingName); break; case "BuildingNumber": list = list.OrderBy(ilsm => ilsm.BuildingNumber); break; case "ImpairmentCategory": list = list.OrderBy(ilsm => ilsm.ImpairmentCategory); break; case "ScheduleStartDate": list = list.OrderBy(ilsm => ilsm.ScheduleStartDate); break; case "EstimatedCompletionDate": list = list.OrderBy(ilsm => ilsm.EstimatedCompletionDate); break; case "OnSiteContactName": list = list.OrderBy(ilsm => ilsm.OnSiteContactName); break; } } else { switch (sortDescriptor.Member) { case "ProjectCoordinator": list = list.OrderByDescending(ilsm => ilsm.ProjectCoordinator); break; case "BuildingName": list = list.OrderByDescending(ilsm => ilsm.BuildingName); break; case "BuildingNumber": list = list.OrderByDescending(ilsm => ilsm.BuildingNumber); break; case "ImpairmentCategory": list = list.OrderByDescending(ilsm => ilsm.ImpairmentCategory); break; case "ScheduleStartDate": list = list.OrderByDescending(ilsm => ilsm.ScheduleStartDate); break; case "EstimatedCompletionDate": list = list.OrderByDescending(ilsm => ilsm.EstimatedCompletionDate); break; case "OnSiteContactName": list = list.OrderByDescending(ilsm => ilsm.OnSiteContactName); break; } } } } } else { list = list.OrderByDescending(ilsm => ilsm.ModifiedDate); } return View("IndexNew", list); } public ActionResult ImpairmentCategoryFilter() { return Json(_db.ImpairmentCategories.Select( ic => ic.Category).Distinct(), JsonRequestBehavior.AllowGet); }