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(); }
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"; }