public SaveGameMatchDataHandler(
     ITheGameCacheProvider cacheProvider,
     ILogger <SaveGameMatchDataHandler> logger)
 {
     _cacheProvider = cacheProvider ?? throw ArgNullEx(nameof(cacheProvider));
     _logger        = logger ?? throw ArgNullEx(nameof(logger));
 }
Exemple #2
0
 public ViewCacheDataController(
     ITheGameCacheProvider cacheProvider,
     TheGameSettings settings,
     IMediator mediator) : base(mediator)
 {
     _cacheProvider = cacheProvider ?? throw ArgNullEx(nameof(cacheProvider));
     _settings      = settings ?? throw ArgNullEx(nameof(settings));
 }
Exemple #3
0
        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));
 }