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