public PaginationObjectResult(ICollection value, IPaginationParams paginationParams, int?totalItems = null) { PaginationParams = paginationParams; TotalItems = totalItems; ItemCount = value?.Count ?? 0; _result = value; }
public PaginationInfo(IPaginationParams paginationParams, Uri baseUri, int itemCount, int?totalItems) { PaginationParams = paginationParams; BaseUri = baseUri; ItemCount = itemCount; TotalItems = totalItems; }
public Pagination(IPaginationParams paginationParams, int count, T[] data) { PageIndex = paginationParams.PageIndex; PageSize = paginationParams.PageSize; Count = count; Data = data; }
protected void ApplyPaging(IPaginationParams paginationParams) { if (paginationParams == null) { ApplyPaging(0, 0); IsPagingEnabled = false; return; } ApplyPaging(paginationParams.PageSize * (paginationParams.PageIndex - 1), paginationParams.PageSize); }
public static string ToSql(this IPaginationParams @params) { return($"OFFSET {@params.Offset} ROWS FETCH NEXT {(int)@params.PerPage} ROWS ONLY; "); }
private static bool IsEndOfList(IPaginationParams paginationParams, int itemCount, int?totalItems) => HasFullList(itemCount, totalItems) || (totalItems.HasValue && paginationParams.GetOffset() + paginationParams.GetPageSize() >= totalItems);
private bool IsPaginationValid(IPaginationParams limitOffsetPaginationParams) => limitOffsetPaginationParams.GetOffset() >= 0 && limitOffsetPaginationParams.GetPageSize() <= MaxLimit && limitOffsetPaginationParams.GetPageSize() > 0;
public async Task <Pagination <T> > GetEntitiesPagedAsync <T>(ISpecification <TEntity> spec, IPaginationParams paginationParams, System.Func <TEntity[], T[]> convertResults) where T : class // Type of result { var results = convertResults(await GetEntitiesAsync(spec)); var count = await CountAsync(spec); var pagination = new Pagination <T>(paginationParams, count, results); return(pagination); }
public async Task <Pagination <TEntity> > GetEntitiesPagedAsync(ISpecification <TEntity> spec, IPaginationParams paginationParams) { return(await GetEntitiesPagedAsync <TEntity>(spec, paginationParams, x => x)); }