public static async Task ChunkAsync <T>( this QueryFactory db, Query query, int chunkSize, Action <IEnumerable <T>, int> action ) { var result = await db.PaginateAsync <T>(query, 1, chunkSize); action(result.List, 1); while (result.HasNext) { result = result.Next(); action(result.List, result.Page); } }
public static async Task ChunkAsync <T>( this QueryFactory db, Query query, int chunkSize, Func <IEnumerable <T>, int, bool> func ) { var result = await db.PaginateAsync <T>(query, 1, chunkSize); if (!func(result.List, 1)) { return; } while (result.HasNext) { result = result.Next(); if (!func(result.List, result.Page)) { return; } } }
public static async Task <PaginationResult <T> > PaginateAsync <T>(this Query query, int page, int perPage = 25) { QueryFactory db = QueryHelper.CreateQueryFactory(query); return(await db.PaginateAsync <T>(query, page, perPage)); }