Exemple #1
0
        public static async Task <PagedResult <T> > PaginateAsync <T>(this IMongoQueryable <T> collection,
                                                                      int page = 1, int resultsPerPage = 10)
        {
            if (page <= 0)
            {
                page = 1;
            }
            if (resultsPerPage <= 0)
            {
                resultsPerPage = 10;
            }
            var isEmpty = await collection.AnyAsync() == false;

            if (isEmpty)
            {
                return(PagedResult <T> .Empty);
            }
            var totalResults = await collection.CountAsync();

            var totalPages = (int)Math.Ceiling((decimal)totalResults / resultsPerPage);
            var data       = await collection.Limit(page, resultsPerPage).ToListAsync();

            return(PagedResult <T> .Create(data, page, resultsPerPage, totalPages, totalResults));
        }
Exemple #2
0
 public async Task <bool> AnyAsync(Expression <Func <T, bool> > predicate)
 {
     return(await collectionQueryable.AnyAsync(predicate));
 }
Exemple #3
0
 public Task <bool> AnyAsync()
 {
     return(_queryable.AnyAsync());
 }
Exemple #4
0
 public override async Task <bool> AnyAsync()
 {
     return(await queryable.AnyAsync());
 }