示例#1
0
        /// <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));
 }