コード例 #1
0
        public static void CopyRestPlayerData(sc2dsstatsContext context, DSRestContext restContext)
        {
            var restPlayers = restContext.DSRestPlayers.AsNoTracking().ToList();

            foreach (var restPlayer in restPlayers)
            {
                var newPlayer = context.DSRestPlayers.FirstOrDefault(f => f.Name == restPlayer.Name);

                if (newPlayer == null)
                {
                    newPlayer = new db.DSRestPlayer()
                    {
                        Name       = restPlayer.Name,
                        Json       = restPlayer.Json,
                        LastRep    = restPlayer.LastRep,
                        LastUpload = restPlayer.LastUpload,
                        Data       = restPlayer.Data,
                        Total      = restPlayer.Total,
                        Version    = restPlayer.Version
                    };
                    context.DSRestPlayers.Add(newPlayer);
                }
                else
                {
                    if (newPlayer.LastRep < restPlayer.LastRep)
                    {
                        newPlayer.LastRep = restPlayer.LastRep;
                    }
                }
            }
            context.SaveChanges();
        }
コード例 #2
0
        public DataRepository(ILogger <DataRepository> logger, IServiceScopeFactory scopeFactory)
        {
            _logger  = logger;
            _scope   = scopeFactory.CreateScope();
            _context = _scope.ServiceProvider.GetRequiredService <DSRestContext>();
            _context.Database.EnsureCreated();

            string data_json = WorkDir + "/data.json";
        }