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)); }
public async Task <bool> AnyAsync(Expression <Func <T, bool> > predicate) { return(await collectionQueryable.AnyAsync(predicate)); }
public Task <bool> AnyAsync() { return(_queryable.AnyAsync()); }
public override async Task <bool> AnyAsync() { return(await queryable.AnyAsync()); }