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; }
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; }
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); }