Exemple #1
0
        public virtual IEnumerable <T> GetPaged(Expression <Func <T, bool> > predicate, Action <IOrderable <T> > order, int pageIndex, int pageSize)
        {
            int           skip      = pageIndex * pageSize;
            Orderable <T> orderable = new Orderable <T>(Set <T>().Where(predicate));

            order(orderable);

            return(orderable.AsQueryable()
                   .Skip(skip)
                   .Take(pageSize));
        }
Exemple #2
0
        private IEnumerable <T> GetPagedActiveOrDeleted(Expression <Func <T, bool> > predicate, Action <IOrderable <T> > orderAction, int pageIndex, int pageSize, bool isActiveOrDeleted)
        {
            int skip = pageIndex * pageSize;
            ParameterExpression          itemParameter   = Expression.Parameter(typeof(T), "item");
            Expression <Func <T, bool> > whereExpression = Expression.Lambda <Func <T, bool> >
                                                           (
                Expression.And(
                    predicate,
                    Expression.Equal(Expression.Property(itemParameter, "IsDeleted"), Expression.Constant(isActiveOrDeleted))
                    ), itemParameter);
            Orderable <T> orderable = new Orderable <T>(Set <T>().Where(whereExpression));

            orderAction(orderable);

            return(orderable.AsQueryable()
                   .Skip(skip)
                   .Take(pageSize));
        }