public async Task <Game> GetGame(int invitationNumber) { await SyncAsync(); var games = await GamesTable.Where(x => x.InvitationNumber == invitationNumber).ToListAsync(); return(games.FirstOrDefault()); }
private async Task CleanupGames() { var now = DateTimeOffset.Now.AddDays(-2); var games = await GamesTable.Where(x => x.CreatedAt < now).ToListAsync().ConfigureAwait(false); foreach (var game in games) { if ((int)game.GameStatus < (int)GameStatus.Started) { var gamePlayers = await GamePlayersTable.Where(x => x.GameId == game.Id).ToListAsync().ConfigureAwait(false); foreach (var gamePlayer in gamePlayers) { await GamePlayersTable.DeleteAsync(gamePlayer).ConfigureAwait(false); } await GamesTable.DeleteAsync(game).ConfigureAwait(false); } } }