public static void EnsureInDatabase(long id, Data.WaitlistDataContext _Db) { var corporation = _Db.Corporation.Find(id); if (corporation != null) { return; } var result = EsiWrapper.GetCorporation(id); corporation = new Corporation { Id = id, Name = result.Result.Name, AllianceId = result.Result.AllianceId }; //Corporation is not in an alliance if (corporation.AllianceId != 0) { Alliance.EnsureInDatabase((int)corporation.AllianceId, _Db); } _Db.Add(corporation); _Db.SaveChanges(); return; }
private async void DoWork(object state) { _logger.LogInformation("Background Service Started: updating corporations."); List <Corporation> corporations = await _Db.Corporation.ToListAsync(); foreach (Corporation corporation in corporations) { var result = await EsiWrapper.GetCorporation(corporation.Id); // Do not update the corporation information if null/errors are returned. if (result != null) { corporation.Name = result.Name; corporation.AllianceId = result.AllianceId; } } await _Db.SaveChangesAsync(); _logger.LogInformation("Background Service Completed: corporations updated."); }