// GET: CostCenter public ActionResult Index(int?page, string query = null) { var costCenters = _costCenterRepository.GetAllFromDatabaseEnumerable().ToList().MapToViews().OrderBy(o => o.Name); // paging int pageSize = 5; var pageNumber = page ?? 1; // if no page was specified in the querystring, default to the first page (1) var onePageOfCostCenters = costCenters.ToPagedList(pageNumber, pageSize); // will only contain 5 items max because of the pageSize // searching if (!string.IsNullOrEmpty(query)) { var costCenterSearched = _costCenterRepository.GetAllFromDatabaseEnumerable() .Where(c => c.Name.ToLower().Contains(query.ToLower()) || c.Description.ToLower().Contains(query.ToLower())) .ToList() .MapToViews(); onePageOfCostCenters = costCenterSearched.ToPagedList(pageNumber, pageSize); } ViewBag.onePageOfCostCenters = onePageOfCostCenters; return(View(onePageOfCostCenters)); }