public async Task <IList <SolarSystemViewModel> > GetSurroundingSystemsFor(int level, params SolarSystemViewModel[] solarSystem)
        {
            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 = solarSystem.SelectMany(x => UniverseDataDB.GetSurroundingSystemsFor(x, level)).ToArray();
            // var models = UniverseDataDB.GetLowSecSystems();
            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);
            }

            return(models);
        }
        public async Task <SolarSystemViewModel> GetSolarSystemViewModelBySystemName(string name)
        {
            var model            = UniverseDataDB.GetSystemViewModelFor(name);
            var sovDataForSystem = SystemSovDataRepository.GetSovDataForSystem(model.ID).ConfigureAwait(false);
            var conquerableStationsBySystemId = new EveConquerableStationListService().GetConquerableStationsBySystemId().ConfigureAwait(false);
            var killsTask = new EveKillsService().GetKillsBySystemId().ConfigureAwait(false);
            var jumpsTask = new EveJumpsService().GetJumpsBySystemId().ConfigureAwait(false);

            int jumpCount;

            model.JumpCount = (await jumpsTask).TryGetValue(model.ID, out jumpCount) ? jumpCount : 0;

            var fwData = await new EveFactionWarfareService().GetFactionWarfareOccupancyBySystemId().ConfigureAwait(false);

            model.Sovereignity = await sovDataForSystem;

            var           kills = await killsTask;
            KillsBySystem killsBySystem;

            model.Kills = kills.TryGetValue(model.ID, out killsBySystem)
                              ? killsBySystem
                              : new KillsBySystem {
                SolarSystemId = model.ID
            };

            var conquerableStations = await conquerableStationsBySystemId;

            InitConquerableStations(conquerableStations, model);
            InitFwValues(model, fwData);

            return(model);
        }