public ActionResult List(string sortOrder, string currentFilter, string searchString, int? page) { ViewBag.CurrentSort = sortOrder; ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "LastName" : ""; ViewBag.DateSortParm = sortOrder == "MemberOf" ? "memberOf_desc" : "MemberOf"; if (searchString != null) { page = 1; } else { searchString = currentFilter; } ViewBag.CurrentFilter = searchString; var pageSize = 10; var pageNumber = (page ?? 1); int pageCount; var pagingInfo = new PagingInfo() { CurrentPage = 1, ItemsPerPage = 5 }; var houseHoldCriteria = new HouseHoldCriteria(); var houseHolds = _services.GetHouseHolds(houseHoldCriteria, pagingInfo); return View("List", houseHolds); }
public IPagedList<HouseHold> GetHouseHolds(HouseHoldCriteria crit, PagingInfo paging) { using (var context = _unitOfWork.DbContext) { var houseHolds = (from hh in context.HouseHolds join m in context.Members on hh.HouseHoldLeaderMemberId equals m.MemberId where (!crit.HouseHoldId.HasValue || (hh.HouseHoldId == crit.HouseHoldId)) && (string.IsNullOrEmpty(crit.Area) || (!string.IsNullOrEmpty(crit.Area) && hh.Area == crit.Area)) orderby hh.Name select new HouseHold { HouseHoldId = hh.HouseHoldId, Name = hh.Name, Area = hh.Area, State = hh.State, HouseHoldLeader = m.FirstName + " " + m.LastName });//.ToPagedList(paging.CurrentPage, paging.ItemsPerPage); var pagedList = houseHolds.ToPagedList(paging.CurrentPage, paging.ItemsPerPage); return pagedList; } }