/// <summary> /// Updates the header. /// </summary> private void UpdateHeader() { if (m_charFacWarStats == null) { return; } List <int> factionsAgainstEnlisted = EveFactionalWarfareStats.GetAgainstFactionIDs(m_charFacWarStats.FactionID).ToList(); FactionPictureBox.Visible = !Settings.UI.SafeForWork; CorporationPictureBox.Visible = !Settings.UI.SafeForWork; FightingPartiesPanel.Visible = !Settings.UI.SafeForWork || !factionsAgainstEnlisted.Any(); // Update the images ImageService.GetAllianceImageAsync(FactionPictureBox, m_charFacWarStats.FactionID); ImageService.GetCorporationImageAsync(CorporationPictureBox, Character.CorporationID); ImageService.GetAllianceImageAsync(EnlistedFactionPictureBox, m_charFacWarStats.FactionID); if (factionsAgainstEnlisted.Any()) { ImageService.GetAllianceImageAsync(PrimeAgainstFactionPictureBox, factionsAgainstEnlisted[0]); ImageService.GetAllianceImageAsync(AllyAgainstFactionPictureBox, factionsAgainstEnlisted[1]); } // Update the labels string highestRankText = m_charFacWarStats.HighestRank > m_charFacWarStats.CurrentRank ? $"({GetMilitiaRank(m_charFacWarStats.HighestRank)})" : String.Empty; TimeSpan timeServed = DateTime.UtcNow.Subtract(m_charFacWarStats.EnlistedDate); string timeServedText = timeServed < TimeSpan.FromDays(1) ? "Less than one day." : $"{timeServed.Days} day{(timeServed.Days > 1 ? "s" : String.Empty)}"; FactionLabel.Text = $"Faction: {m_charFacWarStats.FactionName}"; CorporationLabel.Text = $"Corporation: {Character.CorporationName}"; RankLabel.Text = $"Rank: {GetMilitiaRank(m_charFacWarStats.CurrentRank)} {highestRankText}"; TimeServedLabel.Text = $"Time served: {timeServedText}"; }
/// <summary> /// Creates the militia list view sub items. /// </summary> /// <param name="item">The item.</param> private void CreateMilitiaListViewSubItems(ListViewItem item) { // Exit if EVE factional warfare stats have not yet been updated if (!EveFactionalWarfareStats.FactionalWarfareStats.Any()) { return; } EveFactionWarfareStats amarrFacWarStats = EveFactionalWarfareStats.GetFactionalWarfareStatsForFaction(DBConstants.AmarrFactionID); EveFactionWarfareStats caldariFacWarStats = EveFactionalWarfareStats.GetFactionalWarfareStatsForFaction(DBConstants.CaldariFactionID); EveFactionWarfareStats gallenteFacWarStats = EveFactionalWarfareStats.GetFactionalWarfareStatsForFaction(DBConstants.GallenteFactionID); EveFactionWarfareStats minmatarFacWarStats = EveFactionalWarfareStats.GetFactionalWarfareStatsForFaction(DBConstants.MinmatarFactionID); // Clear the subitems except the item itself for (int i = 1; i < lvMilitia.Columns.Count; i++) { item.SubItems.RemoveAt(1); } switch (item.Index) { case 0: item.SubItems.Add(amarrFacWarStats.Pilots.ToNumericString(0)); item.SubItems.Add(caldariFacWarStats.Pilots.ToNumericString(0)); item.SubItems.Add(gallenteFacWarStats.Pilots.ToNumericString(0)); item.SubItems.Add(minmatarFacWarStats.Pilots.ToNumericString(0)); break; case 1: item.SubItems.Add(amarrFacWarStats.SystemsControlled.ToNumericString(0)); item.SubItems.Add(caldariFacWarStats.SystemsControlled.ToNumericString(0)); item.SubItems.Add(gallenteFacWarStats.SystemsControlled.ToNumericString(0)); item.SubItems.Add(minmatarFacWarStats.SystemsControlled.ToNumericString(0)); break; case 2: item.SubItems.Add(amarrFacWarStats.KillsYesterday.ToNumericString(0)); item.SubItems.Add(caldariFacWarStats.KillsYesterday.ToNumericString(0)); item.SubItems.Add(gallenteFacWarStats.KillsYesterday.ToNumericString(0)); item.SubItems.Add(minmatarFacWarStats.KillsYesterday.ToNumericString(0)); break; case 3: item.SubItems.Add(amarrFacWarStats.KillsLastWeek.ToNumericString(0)); item.SubItems.Add(caldariFacWarStats.KillsLastWeek.ToNumericString(0)); item.SubItems.Add(gallenteFacWarStats.KillsLastWeek.ToNumericString(0)); item.SubItems.Add(minmatarFacWarStats.KillsLastWeek.ToNumericString(0)); break; case 4: item.SubItems.Add(amarrFacWarStats.KillsTotal.ToNumericString(0)); item.SubItems.Add(caldariFacWarStats.KillsTotal.ToNumericString(0)); item.SubItems.Add(gallenteFacWarStats.KillsTotal.ToNumericString(0)); item.SubItems.Add(minmatarFacWarStats.KillsTotal.ToNumericString(0)); break; case 5: item.SubItems.Add(amarrFacWarStats.VictoryPointsYesterday.ToNumericString(0)); item.SubItems.Add(caldariFacWarStats.VictoryPointsYesterday.ToNumericString(0)); item.SubItems.Add(gallenteFacWarStats.VictoryPointsYesterday.ToNumericString(0)); item.SubItems.Add(minmatarFacWarStats.VictoryPointsYesterday.ToNumericString(0)); break; case 6: item.SubItems.Add(amarrFacWarStats.VictoryPointsLastWeek.ToNumericString(0)); item.SubItems.Add(caldariFacWarStats.VictoryPointsLastWeek.ToNumericString(0)); item.SubItems.Add(gallenteFacWarStats.VictoryPointsLastWeek.ToNumericString(0)); item.SubItems.Add(minmatarFacWarStats.VictoryPointsLastWeek.ToNumericString(0)); break; case 7: item.SubItems.Add(amarrFacWarStats.VictoryPointsTotal.ToNumericString(0)); item.SubItems.Add(caldariFacWarStats.VictoryPointsTotal.ToNumericString(0)); item.SubItems.Add(gallenteFacWarStats.VictoryPointsTotal.ToNumericString(0)); item.SubItems.Add(minmatarFacWarStats.VictoryPointsTotal.ToNumericString(0)); break; default: throw new NotImplementedException(); } }