public ActionResult List(PagerRequest pagerRequest, BillFilterOptions filterOptions, BillSortOptions?sortOptions) { int totalCount; var queryTable = GetList(pagerRequest, out totalCount, filterOptions, sortOptions ?? BillSortOptions.Default); var dto = new ListDTO { Bills = new PagerInfo <BillEntity>(pagerRequest, totalCount, queryTable) }; return(View(dto)); }
private static Expression <Func <BillEntity, bool> > Filler(BillFilterOptions filterOptions) { var filter = PredicateBuilder.True <BillEntity>(); if (filterOptions.UserId != null) { filter.And(v => v.User_Id == filterOptions.UserId); } if (filterOptions.DataStatus != null) { filter.And(v => v.Status == (int)filterOptions.DataStatus.Value); } return(filter); }
private IEnumerable <BillEntity> GetList(PagerRequest pagerRequest, out int totalCount, BillFilterOptions filterOptions, BillSortOptions sortOptions) { var count = 0; var t = ServiceInvoke(v => v.BillRepository.Get(Filler(filterOptions), out count, pagerRequest.PageIndex, pagerRequest.PageSize, OrderBy(sortOptions))); totalCount = count; return(t); }