public IQueryable <T> ApplyPaging <T>(PagingParameterBase parameter, PagingResultBase result, IQueryable <T> query) { int defaultPageSize = SettingsGroupProvider.Current.Get <StorefrontApiSettings>(new Guid?()).DefaultPageSize; int count = !parameter.PageSize.HasValue || parameter.PageSize.Value <= 0 ? defaultPageSize : parameter.PageSize.Value; int num1 = parameter.Page ?? 0; int num2 = num1 <= 0 ? 1 : num1; int num3 = Queryable.Count <T>(query); result.PageSize = count; result.DefaultPageSize = defaultPageSize; result.Page = num2; result.TotalPages = (num3 - 1) / count + 1; result.TotalCount = num3; return(Queryable.Take(Queryable.Skip(query, (num2 - 1) * count), count)); }
public PagedList <Card> GetSwimLaneCardsWithPaging(string SwimLaneId, PagingParameterBase pagingParameter) { try { int count = _context.Cards.Include(c => c.CardPriority).Where(x => x.SwimLaneId == SwimLaneId).Count(); PagedList <Card> cardList = PagedList <Card> .ToPagedList(_context.Cards.Include(c => c.CardPriority).Where(x => x.SwimLaneId == SwimLaneId).OrderBy(on => on.CardId).Skip((pagingParameter.PageNumber - 1) * pagingParameter.PageSize) .Take(pagingParameter.PageSize), pagingParameter.PageNumber, pagingParameter.PageSize, count); return(cardList); } catch (System.Exception ex) { throw ex; } }