public SaveGameMatchDataHandler( ITheGameCacheProvider cacheProvider, ILogger <SaveGameMatchDataHandler> logger) { _cacheProvider = cacheProvider ?? throw ArgNullEx(nameof(cacheProvider)); _logger = logger ?? throw ArgNullEx(nameof(logger)); }
public ViewCacheDataController( ITheGameCacheProvider cacheProvider, TheGameSettings settings, IMediator mediator) : base(mediator) { _cacheProvider = cacheProvider ?? throw ArgNullEx(nameof(cacheProvider)); _settings = settings ?? throw ArgNullEx(nameof(settings)); }
private static void LoadCache(ITheGameCacheProvider cacheProvider, TheGameSettings settings, ILogger <IHost> logger) { var factory = DbProviderFactories.GetFactory(settings.DataProviderName); var connection = factory.CreateConnection(); connection.ConnectionString = settings.DbConnectionString; string sql; if (!cacheProvider.GetPlayersListAsync(CancellationToken.None).GetAwaiter().GetResult()?.Any() ?? true) { logger.LogInformation("Loading cache with player data. Please wait..."); sql = $"SELECT {nameof(Player.Id)} FROM dbo.{nameof(Player)}s"; try { connection.Open(); var players = connection.Query <long>(sql); cacheProvider.StorePlayersListAsync(players, null, CancellationToken.None).GetAwaiter().GetResult(); } catch (Exception exc) { logger?.LogError(exc, "Unable to load cache with player data!"); } finally { if (connection.State == ConnectionState.Open) { connection.Close(); } } } if (!cacheProvider.GetGamesListAsync(CancellationToken.None).GetAwaiter().GetResult()?.Any() ?? true) { logger.LogInformation("Loading cache with game data. Please wait..."); sql = $"SELECT {nameof(Game.Id)} FROM dbo.{nameof(Game)}s"; try { connection.Open(); var games = connection.Query <long>(sql); cacheProvider.StoreGamesListAsync(games, null, CancellationToken.None).GetAwaiter().GetResult(); } catch (Exception exc) { logger?.LogError(exc, "Unable to load cache with game data!"); } finally { if (connection.State == ConnectionState.Open) { connection.Close(); } } } }
public GameMatchesDataDbFlushingService( ILogger <GameMatchesDataDbFlushingService> logger, ITheGameCacheProvider cacheProvider, TheGameSettings settings, IDateTimeProvider dateTime) { _logger = logger ?? throw ArgNullEx(nameof(logger)); _cacheProvider = cacheProvider ?? throw ArgNullEx(nameof(cacheProvider)); _settings = settings ?? throw ArgNullEx(nameof(settings)); _dateTime = dateTime ?? throw ArgNullEx(nameof(dateTime)); _commandsRepository = RepositoryFactory.GetCommandsRepository(_settings); _queriesRepository = RepositoryFactory.GetQueriesRepository(settings); }
public GetLeaderboardsHandler(ITheGameCacheProvider cacheProvider) { _cacheProvider = cacheProvider ?? throw ArgNullEx(nameof(cacheProvider)); }