private static Expression<Func<CategoryEntity, bool>> Filler(CategoryFilterOptions filterOptions) { var filter = PredicateBuilder.True<CategoryEntity>(); 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 PagerInfo<CategoryEntity> GetList(PagerRequest pagerRequest, CategoryFilterOptions filterOptions, CategorySortOptions sortOptions) { var paged = PagedListGetter(pagerRequest, filterOptions, sortOptions, (INGnono_FMNoteContextEFUnitOfWork unitOfWork, Expression<Func<CategoryEntity, bool>> filter, Func<IQueryable<CategoryEntity>, IOrderedQueryable<CategoryEntity>> @orderby, PagerRequest pRequest, out int totalCount) => unitOfWork.CategoryRepository .Get(filter, out totalCount, pagerRequest .PageIndex, pagerRequest .PageSize, @orderby), Filler, OrderBy); return paged; }
public ActionResult List(PagerRequest pagerRequest, CategoryFilterOptions filter, CategorySortOptions? sort) { var paged = GetList(pagerRequest, filter, sort ?? CategorySortOptions.Default); return View("List", paged); }