public static SolarSystemViewModel GetSystemViewModelFor(string systemName) { if (systemName == null) { throw new ArgumentNullException("systemName", "systemName must not be null in GetSystemViewModelFor"); } var result = new SolarSystemViewModel { Name = systemName }; _getSystemByNameParameter.Value = systemName; using (var reader = _getSystemByNameCommand.ExecuteReader()) { if (!reader.Read()) { throw new Exception("Could not load system '" + systemName + "'"); } result.SecurityStatus = Convert.ToDouble(reader.GetDecimal(1)); var systemId = reader.GetInt32(0); result.ID = systemId; result.Stations = GetStationsForSystem(systemId); result.RegionID = reader.GetInt32(2); } if (WormholeConnectionTracker.WH_REGEX.IsMatch(systemName)) { result.WormholeInfo = GetWormholeInfo(systemName); } return(result); }
public static IList <SolarSystemViewModel> GetRegionalSystemsFor(SolarSystemViewModel solarSystem) { if (solarSystem.IsWormholeSystem) { return(new List <SolarSystemViewModel>()); } _getSystemByRegionIdRegionIdParameter.Value = solarSystem.RegionID; //TODO allgemeine security conversion einfuehren _getSystemByRegionIdSecurityLevelParameter.Value = solarSystem.SecurityStatus > 0.45 ? 2 : (solarSystem.SecurityStatus > 0 ? 1 : 0); var result = new List <SolarSystemViewModel>(); using (var reader = _getSystemsByRegionIdCommand.ExecuteReader()) { while (reader.Read()) { var curSystem = new SolarSystemViewModel { ID = reader.GetInt32(0), Name = reader.GetString(1), SecurityStatus = Convert.ToDouble(reader.GetDecimal(2)), RegionID = reader.GetInt32(3) }; curSystem.Stations = GetStationsForSystem(curSystem.ID); result.Add(curSystem); } } return(result); }
public int GetIndex(SolarSystemViewModel vm) { if (vm.JumpCount > 150) { return(6); } if (vm.JumpCount > 110) { return(5); } if (vm.JumpCount > 70) { return(4); } if (vm.JumpCount > 40) { return(3); } if (vm.JumpCount > 20) { return(2); } if (vm.JumpCount > 0) { return(1); } return(0); }
public int GetIndex(SolarSystemViewModel vm) { var killCount = vm.Kills.PodKillCount + vm.Kills.ShipKillCount; if (killCount > 100) { return(6); } if (killCount > 50) { return(5); } if (killCount > 25) { return(4); } if (killCount > 10) { return(3); } if (killCount > 3) { return(2); } if (killCount > 0) { return(1); } return(0); }
public int GetIndex(SolarSystemViewModel vm) { var killCount = vm.Kills.NpcKillCount; if (killCount > 200) { return(6); } if (killCount > 140) { return(5); } if (killCount > 100) { return(4); } if (killCount > 60) { return(3); } if (killCount > 25) { return(2); } if (killCount > 0) { return(1); } return(0); }
public int GetState(SolarSystemViewModel vm) { if (!vm.Stations.Any()) { return(0); } return(vm.Stations.Any(x => x.HasRepairFacility) ? 2 : 1); }
private static void InitFwValues(SolarSystemViewModel model, IDictionary <long, FactionWarfareOccupancy> fwData) { FactionWarfareOccupancy fwValue; model.Sovereignity.IsFactionWarefareSystem = fwData.TryGetValue(model.ID, out fwValue); if (model.Sovereignity.IsFactionWarefareSystem) { // ReSharper disable PossibleNullReferenceException model.Sovereignity.FactionWarefareOccupyingFactionId = fwValue.OccupyingFactionId == 0 ? fwValue.OwningFactionId : fwValue.OccupyingFactionId; // ReSharper restore PossibleNullReferenceException } }
public int GetIndex(SolarSystemViewModel vm) { if (vm.Killboard.SmartbombPoddingCountVeryRecent > 2) { return(6); } if (vm.Killboard.SmartbombPoddingCountVeryRecent > 0) { return(5); } if (vm.Killboard.SmartbombPoddingCount > 0) { return(3); } if (vm.Kills.PodKillCount > 2) { return(3); } return(vm.Kills.PodKillCount > 0 ? 2 : 0); }
public static IList <SolarSystemViewModel> GetLowSecSystems() { var result = new List <SolarSystemViewModel>(); using (var reader = _getLowSecSystemsCommand.ExecuteReader()) { while (reader.Read()) { var curSystem = new SolarSystemViewModel { ID = reader.GetInt32(0), Name = reader.GetString(1), SecurityStatus = Convert.ToDouble(reader.GetDecimal(2)), RegionID = reader.GetInt32(3) }; curSystem.Stations = GetStationsForSystem(curSystem.ID); result.Add(curSystem); } } return(result); }
//TODO alle methoden thread safe machen public static IList <SolarSystemViewModel> GetSurroundingSystemsFor(SolarSystemViewModel solarSystem, int level = 3) { if (solarSystem.IsWormholeSystem) { return(GetSurroundingSystemsStartingFromWormhole(solarSystem)); } var result = new List <SolarSystemViewModel>(); _getAdjacentSystemsSystemSecurityTypeParameter.Value = solarSystem.GetSecurityType(); _getAdjacentSystemsSystemMaxLevelParameter.Value = level; _getAdjacentSystemsSystemIDParameter.Value = solarSystem.ID; using (var reader = _getAdjacentSystemsCommand.ExecuteReader()) { while (reader.Read()) { var curSystem = new SolarSystemViewModel { ID = reader.GetInt32(0), Name = reader.GetString(1), SecurityStatus = Convert.ToDouble(reader.GetDecimal(2)), RegionID = reader.GetInt32(3) }; curSystem.Stations = GetStationsForSystem(curSystem.ID); result.Add(curSystem); } } var systems = result.Concat(GetSurroundingWormholeSystems(result.Concat(new[] { solarSystem }))) .Distinct() .ToArray(); return(systems.Concat(GetSurroundingTheraSystems(systems)) .Distinct() .ToArray()); }
//TODO extract similarities public async Task <IList <SolarSystemViewModel> > GetRegionalSystemsFor(SolarSystemViewModel system) { var killsTask = new EveKillsService().GetKillsBySystemId().ConfigureAwait(false); var conquerableStationsTask = new EveConquerableStationListService().GetConquerableStationsBySystemId().ConfigureAwait(false); var fwDataTask = new EveFactionWarfareService().GetFactionWarfareOccupancyBySystemId().ConfigureAwait(false); var jumpsTask = new EveJumpsService().GetJumpsBySystemId().ConfigureAwait(false); var models = UniverseDataDB.GetRegionalSystemsFor(system).ToArray(); var kills = await killsTask; var conquerableStations = await conquerableStationsTask; var fwData = await fwDataTask; var jumps = await jumpsTask; foreach (var curModel in models) { int jumpCount; curModel.JumpCount = jumps.TryGetValue(curModel.ID, out jumpCount) ? jumpCount : 0; curModel.Sovereignity = await SystemSovDataRepository.GetSovDataForSystem(curModel.ID).ConfigureAwait(false); KillsBySystem killsBySystem; curModel.Kills = kills.TryGetValue(curModel.ID, out killsBySystem) ? killsBySystem : new KillsBySystem { SolarSystemId = curModel.ID }; InitConquerableStations(conquerableStations, curModel); InitFwValues(curModel, fwData); } var surroundings = await GetSurroundingSystemsFor(1, models); return(models.Union(surroundings).ToArray()); }
public int GetState(SolarSystemViewModel vm) { return(0); }
private static void InitConquerableStations(IDictionary <long, Station[]> conquerableStations, SolarSystemViewModel model) { Station[] conquerableStation; if (conquerableStations.TryGetValue(model.ID, out conquerableStation)) { model.Stations = model.Stations.Concat(conquerableStation).ToArray(); } }
public void OpenForSystem(SolarSystemViewModel systemId) { var url = string.Format(@"https://zkillboard.com/system/{0}/", systemId.ID); Process.Start(url); }
public int GetState(SolarSystemViewModel vm) { return(vm.Killboard.SmartbombPoddingCountVeryRecent == 0 ? 0 : 2); }
public int GetIndex(SolarSystemViewModel vm) { return(Math.Max(_pvpActivityIndexCalculator.GetIndex(vm), _pveActivityIndexCalculator.GetIndex(vm))); }
public Brush GetBrush(SolarSystemViewModel vm) { return(_palette[_indexCalculator.GetIndex(vm)]); }
public void OpenForSystem(SolarSystemViewModel solarSystem) { var url = "https://zkillboard.com/system/" + solarSystem.ID + "/"; Process.Start(url); }
public int GetIndex(SolarSystemViewModel vm) { return(0); }
private static IList <SolarSystemViewModel> GetSurroundingSystemsStartingFromWormhole(SolarSystemViewModel solarSystem) { var surroundingSystems = GetSurroundingWormholeSystems(new[] { solarSystem }); const int ONLY_ONE_LEVEL_FOR_THERA = 0; var solarSystemViewModels = surroundingSystems as SolarSystemViewModel[] ?? surroundingSystems.ToArray(); var result = solarSystemViewModels.Where(x => !x.IsWormholeSystem) .SelectMany(x => GetSurroundingSystemsFor(x, solarSystem.Name == "Thera" ? ONLY_ONE_LEVEL_FOR_THERA : 2) .Concat(new[] { x })).Union(solarSystemViewModels.Where(x => x.IsWormholeSystem)) .Without(new[] { solarSystem }) .Distinct() .ToList(); var newSys = GetSurroundingTheraSystems(result.Concat(new[] { solarSystem })); return(result.Concat(newSys) .Without(new[] { solarSystem }) .Distinct() .ToList()); }
public WormholeSolarSystemConnection(SolarSystemViewModel first, SolarSystemViewModel second, WormholeConnection whConnection) : base(first, second) { _wormholeConnection = whConnection; }
public void OpenForSystem(SolarSystemViewModel solarSystem) { var url = "https://neweden.xyz/system/" + solarSystem.ID + "/"; Process.Start(url); }
//TODO needs to get update eventually public int GetState(SolarSystemViewModel vm) { var hasScan = App.GetFromCollection <MoonItemModel, bool>(c => c.Exists(x => x.Id.StartsWith(vm.Name))); return(hasScan ? 2 : 0); }
public EveScoutWormholeSolarSystemConnection(SolarSystemViewModel source, SolarSystemViewModel target, EveScoutWormholeConnection whConnection) : base(source, target) { _whConnection = whConnection; }