private async Task LoadCharacterInfo(CharacterData data, CharacterApi api) { GetCharactersCharacterIdOk info; try { await LoadRacesAndBloodlines(); int id = (int)data.Subject.Id; info = await api.GetCharactersCharacterIdAsync( characterId : id, datasource : ESIConfiguration.DataSource); } catch (Eve.Api.Client.ApiException e) { ExceptionHandler.HandleApiException(this, e); data.LoadFailed = true; return; } data.PrimaryMembership = info.CorporationId.HasValue ? new MailRecipient(EntityType.Corporation, info.CorporationId.Value) : null; data.SecondaryMembership = info.AllianceId.HasValue ? new MailRecipient(EntityType.Alliance, info.AllianceId.Value) : null; data.Description = info.Description; data.Race = mRaces.GetValueOrDefault(info.RaceId.GetValueOrDefault(-1), "(Unknown)"); data.Bloodline = mBloodlines.GetValueOrDefault(info.BloodlineId.GetValueOrDefault(-1), "(Unknown)"); data.Birthday = info.Birthday.GetValueOrDefault(EVE_CLIENT_LAUNCH); data.Gender = info.Gender.GetValueOrDefault().ToString(); data.SecurityStatus = info.SecurityStatus.GetValueOrDefault(); data.HasSecurityStatus = true; await mClient.AddLookupAsync(data.PrimaryMembership); await mClient.AddLookupAsync(data.SecondaryMembership); data.InfoLoaded = true; }