/// <summary> /// Legacy, please use IGameDatabase.IterateOverAll directly /// </summary> /// <param name="db"></param> /// <param name="matchOrRound">true for match, false for round</param> /// <param name="callback">The callback, return false to interrupt the iteration</param> /// <returns></returns> public static async Task IterateOverAllRoundsOrMatches(this IGameDatabase db, bool matchOrRound, Func <IWinner, Task <bool> > callback) { if (matchOrRound) { async Task <bool> matchTask(MatchData matchData) => await callback(matchData); await db.IterateOverAll <MatchData>(matchTask); } else { async Task <bool> roundTask(RoundData roundData) => await callback(roundData); await db.IterateOverAll <RoundData>(roundTask); } }