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