public virtual IEnumerable <TEntity> ToPagedList <TOrderByType>(ref OrderedPagingOptions <TEntity, TOrderByType> paging) { var query = GetAll(); paging.Total = query.Count(); query = query.OrderBy(paging.OrderBy); query = query.Skip((paging.Page - 1) * paging.PageSize); query = query.Take(paging.PageSize); return(query.AsEnumerable()); }
public virtual IEnumerable <TEntity> Where <TOrderByType>(ref OrderedPagingOptions <TEntity, TOrderByType> paging, params Expression <Func <TEntity, bool> >[] conditions) { var query = GetAll(); query = conditions.Aggregate(query, (current, condition) => current.Where(condition)); paging.Total = query.Count(); query = query.OrderBy(paging.OrderBy); query = query.Skip((paging.Page - 1) * paging.PageSize); query = query.Take(paging.PageSize); return(query.AsEnumerable()); }