Exemplo n.º 1
0
        private static async Task GetPlanetInformation()
        {
            var solarSystemIds = await _db.Systems.Select(s => s.EveOnlineId).ToListAsync();

            var dbPlanets = await _db.Planets.ToListAsync();

            foreach (var solarSystemId in solarSystemIds)
            {
                try
                {
                    var solarSystem = await
                                      $"https://esi.evetech.net/latest/universe/systems/{solarSystemId}/?datasource=tranquility&language=en-us"
                                      .GetJsonAsync <ViewModels.System>();

                    Console.WriteLine($"Getting information from {solarSystem.Name}");
                    foreach (var planetBase in solarSystem.Planets)
                    {
                        try
                        {
                            var planet = await $"https://esi.evetech.net/latest/universe/planets/{planetBase.PlanetId}/?datasource=tranquility"
                                         .GetJsonAsync <ViewModels.Planet>();

                            Console.WriteLine($"Updating {planet.Name}");
                            var dbPlanet = dbPlanets.FirstOrDefault(x => x.Name.Contains(planet.Name));

                            if (dbPlanet == null)
                            {
                                continue;
                            }

                            dbPlanet.EveOnlineTypeId  = planet.TypeId;
                            dbPlanet.EveOnlineId      = planet.PlanetId;
                            _db.Entry(dbPlanet).State = EntityState.Modified;
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex);
                        }
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex);
                }
            }

            await _db.SaveChangesAsync();
        }
Exemplo n.º 2
0
        public async Task <IActionResult> UpdateResourcePrices([FromBody] List <Resource> resources)
        {
            foreach (var resource in resources)
            {
                _db.Entry(resource).State = EntityState.Modified;
            }

            await _db.SaveChangesAsync();

            return(Ok(resources));
        }