/// <summary> /// Gets all paginated registers. /// Obtém todas os registros cadastrados por paginação. /// </summary> public virtual IQueryable <TEntity> GetByPaged( IQueryable <TEntity> query, Func <TEntity, object> orderBy, OrderByDirectionEnum orderByDirection, IPager pager) { if (orderBy != null) { if (orderByDirection == OrderByDirectionEnum.Ascending) { query = query.OrderBy(orderBy).AsQueryable(); } else if (orderByDirection == OrderByDirectionEnum.Descending) { query = query.OrderByDescending(orderBy).AsQueryable(); } } if (pager.HasPagination) { query = query.Skip((pager.PageNumber - 1) * pager.PageSize) .Take(pager.PageSize) .AsQueryable(); } return(query); }
/// <summary> /// Gets all paginated registers. /// Obtém todas os registros cadastrados por paginação. /// </summary> public virtual IQueryable <TEntity> GetBy( Expression <Func <TEntity, bool> > expression, Func <TEntity, object> orderBy, OrderByDirectionEnum orderByDirection, IPager pager) { var items = this.DbSet.Where(expression); if (orderByDirection == OrderByDirectionEnum.Ascending) { items = items.OrderBy(orderBy) .Skip((pager.PageNumber - 1) * pager.PageSize) .Take(pager.PageSize) .AsQueryable(); } else if (orderByDirection == OrderByDirectionEnum.Descending) { items = items.OrderByDescending(orderBy) .Skip((pager.PageNumber - 1) * pager.PageSize) .Take(pager.PageSize) .AsQueryable(); } return(items); }