public static void Chunk <T>(this QueryFactory db, Query query, int chunkSize, Action <IEnumerable <T>, int> action) { var result = db.Paginate <T>(query, 1, chunkSize); action(result.List, 1); while (result.HasNext) { result = result.Next(); action(result.List, result.Page); } }
public static void Chunk <T>(this QueryFactory db, Query query, int chunkSize, Func <IEnumerable <T>, int, bool> func) { var result = db.Paginate <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 PaginationResult <T> Paginate <T>(this Query query, int page, int perPage = 25) { QueryFactory db = QueryHelper.CreateQueryFactory(query); return(db.Paginate <T>(query, page, perPage)); }