Example #1
0
        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());
        }
Example #2
0
        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());
        }