/// <summary> /// Returns the metadata that should be sent with this document. /// </summary> protected override async Task <IMetadata> GetDocumentMetadata <T>(IQueryable <T> originalQuery, IQueryable <T> filteredQuery, IOrderedQueryable <T> sortedQuery, IPaginationTransformResult <T> paginationResult, CancellationToken cancellationToken) { var metadata = new Metadata(); if (paginationResult.PaginationWasApplied) { var count = await filteredQuery.CountAsync(cancellationToken); metadata.MetaObject.Add("total-pages", (int)Math.Ceiling((decimal)count / paginationResult.PageSize)); metadata.MetaObject.Add("total-count", count); } if (metadata.MetaObject.HasValues) { return(metadata); } return(null); }
/// <summary> /// Returns the metadata that should be sent with this document. /// </summary> protected virtual Task <IMetadata> GetDocumentMetadata <T>(IQueryable <T> originalQuery, IQueryable <T> filteredQuery, IOrderedQueryable <T> sortedQuery, IPaginationTransformResult <T> paginationResult, CancellationToken cancellationToken) { return(Task.FromResult((IMetadata)null)); }