/// <summary> /// Update the characters position from ESI (will override the position read from any log files /// </summary> private async void UpdatePositionFromESI() { if (string.IsNullOrEmpty(ESIAccessToken)) { return; } ESI.NET.EsiClient esiClient = EveManager.Instance.ESIClient; esiClient.SetCharacterData(ESIAuthData); ESI.NET.EsiResponse <ESI.NET.Models.Location.Location> esr = await esiClient.Location.Location(); if (ESIHelpers.ValidateESICall <ESI.NET.Models.Location.Location>(esr)) { Location = EveManager.Instance.SystemIDToName[esr.Data.SolarSystemId]; System s = EVEData.EveManager.Instance.GetEveSystem(Location); if (s != null) { Region = s.Region; } else { Region = ""; } } }
/// <summary> /// Update the characters position from ESI (will override the position read from any log files /// </summary> private async Task UpdatePositionFromESI() { if (ID == 0 || !ESILinked || ESIAuthData == null) { return; } try { ESI.NET.EsiClient esiClient = EveManager.Instance.ESIClient; esiClient.SetCharacterData(ESIAuthData); ESI.NET.EsiResponse <ESI.NET.Models.Location.Location> esr = await esiClient.Location.Location(); if (ESIHelpers.ValidateESICall <ESI.NET.Models.Location.Location>(esr)) { if (!EveManager.Instance.SystemIDToName.Keys.Contains(esr.Data.SolarSystemId)) { Location = ""; Region = ""; return; } Location = EveManager.Instance.SystemIDToName[esr.Data.SolarSystemId]; System s = EVEData.EveManager.Instance.GetEveSystem(Location); if (s != null) { Region = s.Region; } else { Region = ""; } } } catch { } }
/// <summary> /// Update the character info from the ESI data if linked /// </summary> private async Task UpdateInfoFromESI() { if (ID == 0 || !ESILinked) { return; } try { ESI.NET.EsiClient esiClient = EveManager.Instance.ESIClient; esiClient.SetCharacterData(ESIAuthData); // if (CorporationID == -1 || AllianceID == -1) { ESI.NET.EsiResponse <ESI.NET.Models.Character.Information> esr = await esiClient.Character.Information((int)ID); if (EVEData.ESIHelpers.ValidateESICall <ESI.NET.Models.Character.Information>(esr)) { CorporationID = esr.Data.CorporationId; AllianceID = esr.Data.AllianceId; } } if (AllianceID != 0) { int page = 0; int maxPageCount = 1; do { page++; esiClient.SetCharacterData(ESIAuthData); ESI.NET.EsiResponse <List <ESI.NET.Models.Contacts.Contact> > esr = await esiClient.Contacts.ListForAlliance(page); if (EVEData.ESIHelpers.ValidateESICall <List <ESI.NET.Models.Contacts.Contact> >(esr)) { if (esr.Pages.HasValue) { maxPageCount = (int)esr.Pages; } foreach (ESI.NET.Models.Contacts.Contact con in esr.Data) { Standings[con.ContactId] = (float)con.Standing; LabelMap[con.ContactId] = con.LabelId; } } }while (page < maxPageCount); } } catch (Exception) { } EveManager.Instance.ResolveAllianceIDs(Standings.Keys.ToList()); }
/// <summary> /// Add Destination to the route /// </summary> /// <param name="systemID">System to set destination to</param> /// <param name="clear">Clear all waypoints before setting?</param> public async void AddDestination(long systemID, bool clear) { if (clear) { Waypoints.Clear(); ActiveRoute.Clear(); } Waypoints.Add(EveManager.Instance.SystemIDToName[systemID]); UpdateActiveRoute(); ESI.NET.EsiClient esiClient = EveManager.Instance.ESIClient; esiClient.SetCharacterData(ESIAuthData); bool firstRoute = true; foreach (Navigation.RoutePoint rp in ActiveRoute) { // explicitly add interim waypoints for ansiblex gates or actual waypoints if (rp.GateToTake == Navigation.GateType.Ansibex || Waypoints.Contains(rp.SystemName)) { long wayPointSysID = EveManager.Instance.GetEveSystem(rp.SystemName).ID; ESI.NET.EsiResponse <string> esr = await esiClient.UserInterface.Waypoint(wayPointSysID, false, firstRoute); if (EVEData.ESIHelpers.ValidateESICall <string>(esr)) { routeNeedsUpdate = true; } firstRoute = false; } } /* * ESI.NET.EsiResponse<string> esr = await esiClient.UserInterface.Waypoint(systemID, false, true); * if(EVEData.ESIHelpers.ValidateESICall<string>(esr)) * { * routeNeedsUpdate = true; * } */ }
/// <summary> /// Update the characters logged on status from ESI /// </summary> private async Task UpdateOnlineStatus() { if (ID == 0 || !ESILinked || ESIAuthData == null) { return; } try { ESI.NET.EsiClient esiClient = EveManager.Instance.ESIClient; esiClient.SetCharacterData(ESIAuthData); ESI.NET.EsiResponse <ESI.NET.Models.Location.Activity> esr = await esiClient.Location.Online(); if (ESIHelpers.ValidateESICall <ESI.NET.Models.Location.Activity>(esr)) { IsOnline = esr.Data.Online; } } catch { } }
/// <summary> /// Update the characters FleetInfo /// </summary> private async void UpdateFleetInfo() { if (ID == 0 || !ESILinked || ESIAuthData == null) { return; } try { ESI.NET.EsiClient esiClient = EveManager.Instance.ESIClient; esiClient.SetCharacterData(ESIAuthData); ESI.NET.EsiResponse <ESI.NET.Models.Fleets.FleetInfo> esr = await esiClient.Fleets.FleetInfo(); if (ESIHelpers.ValidateESICall <ESI.NET.Models.Fleets.FleetInfo>(esr)) { FleetInfo.FleetID = esr.Data.FleetId; // in fleet, extract info ESI.NET.EsiResponse <List <ESI.NET.Models.Fleets.Member> > esrf = await esiClient.Fleets.Members(esr.Data.FleetId); if (ESIHelpers.ValidateESICall <List <ESI.NET.Models.Fleets.Member> >(esrf)) { foreach (ESI.NET.Models.Fleets.Member fm in esrf.Data) { //fm.CharacterId } } } else { FleetInfo.FleetID = 0; FleetInfo.Members.Clear(); } } catch { } }
/// <summary> /// Update the character info from the ESI data if linked /// </summary> private async Task UpdateInfoFromESI() { if (ID == 0 || !ESILinked || ESIAuthData == null) { if (ESILinked) { ESIAccessTokenExpiry = DateTime.Now; } return; } List <long> AllianceToResolve = new List <long>(); try { ESI.NET.EsiClient esiClient = EveManager.Instance.ESIClient; esiClient.SetCharacterData(ESIAuthData); //if (CorporationID == -1 || AllianceID == -1) { ESI.NET.EsiResponse <ESI.NET.Models.Character.Information> esr = await esiClient.Character.Information((int)ID); if (EVEData.ESIHelpers.ValidateESICall <ESI.NET.Models.Character.Information>(esr)) { CorporationID = esr.Data.CorporationId; AllianceID = esr.Data.AllianceId; } } // if we have an alliance, and no current standings set if (AllianceID != 0 && Standings.Count == 0) { int page = 0; int maxPageCount = 1; do { page++; // SJS here.. list modifeied exception esiClient.SetCharacterData(ESIAuthData); ESI.NET.EsiResponse <List <ESI.NET.Models.Contacts.Contact> > esr = await esiClient.Contacts.ListForAlliance(page); if (EVEData.ESIHelpers.ValidateESICall <List <ESI.NET.Models.Contacts.Contact> >(esr)) { if (esr.Pages.HasValue) { maxPageCount = (int)esr.Pages; } if (esr.Data == null) { // in an alliance with no contacts continue; } foreach (ESI.NET.Models.Contacts.Contact con in esr.Data) { Standings[con.ContactId] = (float)con.Standing; // Removed LabelMap[con.ContactId] = con.LabelIds; if (con.ContactType == "alliance") { AllianceToResolve.Add(con.ContactId); } } } }while (page < maxPageCount); } } catch (Exception) { } await EveManager.Instance.ResolveAllianceIDs(AllianceToResolve); }
/// <summary> /// Update the characters FleetInfo /// </summary> private async Task UpdateFleetInfo() { if (ID == 0 || !ESILinked || ESIAuthData == null) { return; } try { ESI.NET.EsiClient esiClient = EveManager.Instance.ESIClient; esiClient.SetCharacterData(ESIAuthData); if (FleetInfo.NextFleetMembershipCheck < DateTime.Now) { // route is cached for 60s, however checking this can hit the rate limit FleetInfo.NextFleetMembershipCheck = DateTime.Now + TimeSpan.FromSeconds(240); ESI.NET.EsiResponse <ESI.NET.Models.Fleets.FleetInfo> esr = await esiClient.Fleets.FleetInfo(); if (ESIHelpers.ValidateESICall <ESI.NET.Models.Fleets.FleetInfo>(esr)) { FleetInfo.FleetID = esr.Data.FleetId; FleetInfo.IsFleetBoss = esr.Data.Role == "fleet_commander" ? true : false; } else { FleetInfo.FleetID = 0; Application.Current.Dispatcher.Invoke((Action)(() => { FleetInfo.Members.Clear(); }), DispatcherPriority.Normal); } } if (FleetInfo.FleetID != 0 && FleetInfo.IsFleetBoss) { List <long> characterIDsToResolve = new List <long>(); ESI.NET.EsiResponse <List <ESI.NET.Models.Fleets.Member> > esrf = await esiClient.Fleets.Members(FleetInfo.FleetID); if (ESIHelpers.ValidateESICall <List <ESI.NET.Models.Fleets.Member> >(esrf)) { foreach (Fleet.FleetMember ff in FleetInfo.Members) { ff.IsValid = false; } foreach (ESI.NET.Models.Fleets.Member esifm in esrf.Data) { Fleet.FleetMember fm = null; foreach (Fleet.FleetMember ff in FleetInfo.Members) { if (ff.CharacterID == esifm.CharacterId) { fm = ff; fm.IsValid = true; } } if (fm == null) { fm = new Fleet.FleetMember(); fm.IsValid = true; Application.Current.Dispatcher.Invoke((Action)(() => { FleetInfo.Members.Add(fm); }), DispatcherPriority.Normal); } fm.Name = EveManager.Instance.GetCharacterName(esifm.CharacterId); fm.Location = EveManager.Instance.GetEveSystemNameFromID(esifm.SolarSystemId); fm.CharacterID = esifm.CharacterId; if (EveManager.Instance.ShipTypes.ContainsKey(esifm.ShipTypeId.ToString())) { fm.ShipType = EveManager.Instance.ShipTypes[esifm.ShipTypeId.ToString()]; } else { fm.ShipType = "Unknown : " + esifm.ShipTypeId.ToString(); } if (String.IsNullOrEmpty(fm.Name)) { characterIDsToResolve.Add(esifm.CharacterId); } } if (characterIDsToResolve.Count > 0) { EveManager.Instance.ResolveCharacterIDs(characterIDsToResolve).Wait(); } foreach (Fleet.FleetMember ff in FleetInfo.Members.ToList()) { if (!ff.IsValid) { Application.Current.Dispatcher.Invoke((Action)(() => { FleetInfo.Members.Remove(ff); }), DispatcherPriority.Normal); } } } else { // something went wrong (probably lost fleet_commander), reset this check FleetInfo.NextFleetMembershipCheck = DateTime.Now + TimeSpan.FromSeconds(60); FleetInfo.FleetID = 0; Application.Current.Dispatcher.Invoke((Action)(() => { FleetInfo.Members.Clear(); }), DispatcherPriority.Normal); } } } catch { } }
/// <summary> /// Update the active route for the character /// </summary> private async void UpdateActiveRoute() { if (esiSendRouteClear) { esiSendRouteClear = false; esiRouteNeedsUpdate = false; System s = EveManager.Instance.GetEveSystem(Location); if (s != null) { ESI.NET.EsiClient esiClient = EveManager.Instance.ESIClient; esiClient.SetCharacterData(ESIAuthData); ESI.NET.EsiResponse <string> esr = await esiClient.UserInterface.Waypoint(s.ID, false, true); if (EVEData.ESIHelpers.ValidateESICall <string>(esr)) { // failed to clear route } } return; } if (Waypoints.Count == 0) { return; } { // new routing string start = string.Empty; string end = Location; Application.Current.Dispatcher.Invoke((Action)(() => { lock (ActiveRouteLock) { if (Location == Waypoints[0]) { Waypoints.RemoveAt(0); } } ActiveRoute.Clear(); }), DispatcherPriority.Normal); // loop through all the waypoints for (int i = 0; i < Waypoints.Count; i++) { start = end; end = Waypoints[i]; List <Navigation.RoutePoint> sysList = Navigation.Navigate(start, end, UseAnsiblexGates, false, NavigationMode); if (sysList != null) { Application.Current.Dispatcher.Invoke((Action)(() => { lock (ActiveRouteLock) { foreach (Navigation.RoutePoint s in sysList) { ActiveRoute.Add(s); } } }), DispatcherPriority.Normal, null); } } } if (esiRouteNeedsUpdate && !esiRouteUpdating) { esiRouteNeedsUpdate = false; esiRouteUpdating = true; List <long> WayPointsToAdd = new List <long>(); lock (ActiveRouteLock) { foreach (Navigation.RoutePoint rp in ActiveRoute) { // explicitly add interim waypoints for ansiblex gates or actual waypoints if (rp.GateToTake == Navigation.GateType.Ansibex || Waypoints.Contains(rp.SystemName)) { long wayPointSysID = EveManager.Instance.GetEveSystem(rp.SystemName).ID; if (rp.GateToTake == Navigation.GateType.Ansibex) { foreach (JumpBridge jb in EveManager.Instance.JumpBridges) { if (jb.From == rp.SystemName) { if (jb.FromID != 0) { wayPointSysID = jb.FromID; } break; } if (jb.To == rp.SystemName) { if (jb.ToID != 0) { wayPointSysID = jb.ToID; } break; } } } WayPointsToAdd.Add(wayPointSysID); } } } bool firstRoute = true; foreach (long SysID in WayPointsToAdd) { ESI.NET.EsiClient esiClient = EveManager.Instance.ESIClient; esiClient.SetCharacterData(ESIAuthData); ESI.NET.EsiResponse <string> esr = await esiClient.UserInterface.Waypoint(SysID, false, firstRoute); if (EVEData.ESIHelpers.ValidateESICall <string>(esr)) { // routeNeedsUpdate = true; } firstRoute = false; // with a shorter wait, ive found the occasional out of order route Thread.Sleep(200); } esiRouteUpdating = false; } }
public async Task <List <JumpBridge> > FindJumpGates(string JumpBridgeFilterString = " » ") { List <JumpBridge> jbl = new List <JumpBridge>(); if (!ESILinked) { return(jbl); } await UpdateLock.WaitAsync(); { ESI.NET.EsiClient esiClient = EveManager.Instance.ESIClient; esiClient.SetCharacterData(ESIAuthData); Dictionary <long, ESI.NET.Models.Universe.Structure> SystemJumpGateList = new Dictionary <long, ESI.NET.Models.Universe.Structure>(); esiClient.SetCharacterData(ESIAuthData); try { ESI.NET.EsiResponse <ESI.NET.Models.SearchResults> esr = await esiClient.Search.Query(SearchType.Character, JumpBridgeFilterString, SearchCategory.Structure); if (EVEData.ESIHelpers.ValidateESICall <ESI.NET.Models.SearchResults>(esr)) { if (esr.Data.Structures == null) { return(jbl); } foreach (long stationID in esr.Data.Structures) { esiClient.SetCharacterData(ESIAuthData); ESI.NET.EsiResponse <ESI.NET.Models.Universe.Structure> esrs = await esiClient.Universe.Structure(stationID); if (EVEData.ESIHelpers.ValidateESICall <ESI.NET.Models.Universe.Structure>(esrs)) { SystemJumpGateList[stationID] = esrs.Data; // found a jump gate if (esrs.Data.TypeId == 35841) { string[] parts = esrs.Data.Name.Split(' '); string from = parts[0]; string to = parts[2]; EveManager.Instance.AddUpdateJumpBridge(from, to, stationID); } } Thread.Sleep(100); } } } catch { // ESI-Search failed } } UpdateLock.Release(); return(jbl); }
/// <summary> /// Update the character info from the ESI data if linked /// </summary> public async Task UpdateInfoFromESI() { if (ID == 0 || !ESILinked || ESIAuthData == null) { if (ESILinked) { ESIAccessTokenExpiry = DateTime.Now; } return; } List <long> AllianceToResolve = new List <long>(); try { ESI.NET.EsiClient esiClient = EveManager.Instance.ESIClient; esiClient.SetCharacterData(ESIAuthData); //if (CorporationID == -1 || AllianceID == -1) { ESI.NET.EsiResponse <ESI.NET.Models.Character.Information> esr = await esiClient.Character.Information((int)ID); if (EVEData.ESIHelpers.ValidateESICall <ESI.NET.Models.Character.Information>(esr)) { CorporationID = esr.Data.CorporationId; AllianceID = esr.Data.AllianceId; } } // if we have an alliance, and no current standings set if (AllianceID != 0 && Standings.Count == 0) { int page = 0; int maxPageCount = 1; do { page++; // SJS here.. list modifeied exception esiClient.SetCharacterData(ESIAuthData); ESI.NET.EsiResponse <List <ESI.NET.Models.Contacts.Contact> > esr = await esiClient.Contacts.ListForAlliance(page); if (EVEData.ESIHelpers.ValidateESICall <List <ESI.NET.Models.Contacts.Contact> >(esr)) { if (esr.Pages.HasValue) { maxPageCount = (int)esr.Pages; } if (esr.Data == null) { // in an alliance with no contacts continue; } foreach (ESI.NET.Models.Contacts.Contact con in esr.Data) { Standings[con.ContactId] = (float)con.Standing; // Removed LabelMap[con.ContactId] = con.LabelIds; if (con.ContactType == "alliance") { AllianceToResolve.Add(con.ContactId); } } } }while (page < maxPageCount); } // get the character portrait string characterPortrait = EveManager.Instance.SaveDataRootFolder + "\\Portraits\\" + ID + ".png"; if (!File.Exists(characterPortrait)) { ESI.NET.EsiResponse <ESI.NET.Models.Images> esri = await esiClient.Character.Portrait((int)ID); if (esri.Data != null) { WebClient webClient = new WebClient(); webClient.DownloadFile(esri.Data.x128, characterPortrait); } } Application.Current.Dispatcher.Invoke((Action)(() => { Uri imageLoc = new Uri(characterPortrait); Portrait = new BitmapImage(imageLoc); }), DispatcherPriority.Normal, null); //get the corp info if (CorporationID != -1) { ESI.NET.EsiResponse <ESI.NET.Models.Corporation.Corporation> esrc = await esiClient.Corporation.Information((int)CorporationID); if (esrc.Data != null) { CorporationName = esrc.Data.Name; CorporationTicker = esrc.Data.Ticker; } } //get the Alliance info if (AllianceID > 0) { ESI.NET.EsiResponse <ESI.NET.Models.Alliance.Alliance> esra = await esiClient.Alliance.Information((int)AllianceID); if (esra.Data != null) { AllianceName = esra.Data.Name; AllianceTicker = esra.Data.Ticker; } } else { AllianceName = null; AllianceTicker = null; } } catch (Exception) { } await EveManager.Instance.ResolveAllianceIDs(AllianceToResolve); }
/// <summary> /// Update the active route for the character /// </summary> private async void UpdateActiveRoute() { if (Waypoints.Count == 0) { return; } lock (ActiveRouteLock) { // new routing string start = string.Empty; string end = Location; Application.Current.Dispatcher.Invoke((Action)(() => { if (Location == Waypoints[0]) { Waypoints.RemoveAt(0); } ActiveRoute.Clear(); }), DispatcherPriority.ApplicationIdle); // loop through all the waypoints and query ESI for the route for (int i = 0; i < Waypoints.Count; i++) { start = end; end = Waypoints[i]; List <Navigation.RoutePoint> sysList = Navigation.Navigate(start, end, UseAnsiblexGates, NavigationMode); if (sysList != null) { foreach (Navigation.RoutePoint s in sysList) { Application.Current.Dispatcher.Invoke((Action)(() => { ActiveRoute.Add(s); }), DispatcherPriority.ContextIdle, null); } } } } if (esiRouteNeedsUpdate) { esiRouteNeedsUpdate = false; List <long> WayPointsToAdd = new List <long>(); lock (ActiveRouteLock) { foreach (Navigation.RoutePoint rp in ActiveRoute) { // explicitly add interim waypoints for ansiblex gates or actual waypoints if (rp.GateToTake == Navigation.GateType.Ansibex || Waypoints.Contains(rp.SystemName)) { long wayPointSysID = EveManager.Instance.GetEveSystem(rp.SystemName).ID; WayPointsToAdd.Add(wayPointSysID); } } } bool firstRoute = true; foreach (long SysID in WayPointsToAdd) { ESI.NET.EsiClient esiClient = EveManager.Instance.ESIClient; esiClient.SetCharacterData(ESIAuthData); ESI.NET.EsiResponse <string> esr = await esiClient.UserInterface.Waypoint(SysID, false, firstRoute); if (EVEData.ESIHelpers.ValidateESICall <string>(esr)) { // routeNeedsUpdate = true; } firstRoute = false; //Thread.Sleep(50); } } }
/// <summary> /// Update the character info from the ESI data if linked /// </summary> public async Task UpdateInfoFromESI() { if (ID == 0 || !ESILinked || ESIAuthData == null) { if (ESILinked) { ESIAccessTokenExpiry = DateTime.Now; } return; } List <long> AllianceToResolve = new List <long>(); try { ESI.NET.EsiClient esiClient = EveManager.Instance.ESIClient; esiClient.SetCharacterData(ESIAuthData); //if (CorporationID == -1 || AllianceID == -1) { ESI.NET.EsiResponse <ESI.NET.Models.Character.Information> esr = await esiClient.Character.Information((int)ID); if (EVEData.ESIHelpers.ValidateESICall <ESI.NET.Models.Character.Information>(esr)) { CorporationID = esr.Data.CorporationId; AllianceID = esr.Data.AllianceId; } } // if we have an alliance, and no current standings set if (AllianceID != 0 && Standings.Count == 0) { int page = 0; int maxPageCount = 1; do { page++; // SJS here.. list modifeied exception esiClient.SetCharacterData(ESIAuthData); ESI.NET.EsiResponse <List <ESI.NET.Models.Contacts.Contact> > esr = await esiClient.Contacts.ListForAlliance(page); if (EVEData.ESIHelpers.ValidateESICall <List <ESI.NET.Models.Contacts.Contact> >(esr)) { if (esr.Pages.HasValue) { maxPageCount = (int)esr.Pages; } if (esr.Data == null) { // in an alliance with no contacts continue; } foreach (ESI.NET.Models.Contacts.Contact con in esr.Data) { Standings[con.ContactId] = (float)con.Standing; // Removed LabelMap[con.ContactId] = con.LabelIds; if (con.ContactType == "alliance") { AllianceToResolve.Add(con.ContactId); } } } }while (page < maxPageCount); } // get the character portrait string characterPortrait = EveManager.Instance.SaveDataRootFolder + "\\Portraits\\" + ID; if (!File.Exists(characterPortrait)) { ESI.NET.EsiResponse <ESI.NET.Models.Images> esri = await esiClient.Character.Portrait((int)ID); if (esri.Data != null) { try { HttpClient hc = new HttpClient(); var response = await hc.GetAsync(esri.Data.x128); using (var fs = new FileStream(characterPortrait, FileMode.CreateNew)) { await response.Content.CopyToAsync(fs); } } catch { } } } if (File.Exists(characterPortrait)) { Application.Current.Dispatcher.Invoke((Action)(() => { try { Uri imageLoc = new Uri(characterPortrait); Portrait = new BitmapImage(imageLoc); } catch { // something wrong with the portrait } }), DispatcherPriority.Normal, null); } //get the corp info if (CorporationID != -1) { ESI.NET.EsiResponse <ESI.NET.Models.Corporation.Corporation> esrc = await esiClient.Corporation.Information((int)CorporationID); if (esrc.Data != null) { CorporationName = esrc.Data.Name; CorporationTicker = esrc.Data.Ticker; } } //get the Alliance info if (AllianceID > 0) { ESI.NET.EsiResponse <ESI.NET.Models.Alliance.Alliance> esra = await esiClient.Alliance.Information((int)AllianceID); if (esra.Data != null) { AllianceName = esra.Data.Name; AllianceTicker = esra.Data.Ticker; } } else { AllianceName = null; AllianceTicker = null; } // get the edencom and trig standings { EdenCommStandingsGood = false; TrigStandingsGood = false; ESI.NET.EsiResponse <List <ESI.NET.Models.Standing> > essl = await esiClient.Character.Standings(); if (essl.Data != null) { foreach (ESI.NET.Models.Standing standing in essl.Data) { if (standing.FromId == 500027 && standing.Value > 0) { EdenCommStandingsGood = true; } if (standing.FromId == 500026 && standing.Value > 0) { TrigStandingsGood = true; } } } } } catch (Exception) { } await EveManager.Instance.ResolveAllianceIDs(AllianceToResolve); }