using System.Collections.Generic; using System.Net.Http; using System.Threading.Tasks; using System.Windows; using Newtonsoft.Json.Linq; namespace PipefyProspUpdate.Services; public class IBGEService { public static async Task> GetBrazilDataAsync() { string? apiUrl = App.config["IBGE_URL"]; List sugs = new(); using (HttpClient client = new()) { HttpResponseMessage response = await client.GetAsync(apiUrl); response.EnsureSuccessStatusCode(); string responseBody = await response.Content.ReadAsStringAsync(); JArray data = JArray.Parse(responseBody); foreach (var item in data) { try { string UF; string Meso; if (item["microrregiao"]!.Type == JTokenType.Null) { UF = (string)item["regiao-imediata"]!["regiao-intermediaria"]!["UF"]!["nome"]! + " (" + (string)item["regiao-imediata"]!["regiao-intermediaria"]!["UF"]!["sigla"]! + ")"; Meso = (string)item["regiao-imediata"]!["regiao-intermediaria"]!["nome"]!; if ((string)item["nome"]! == "Boa Esperança do Norte") { Meso = "Norte Mato-grossense"; } } else { UF = (string)item["microrregiao"]!["mesorregiao"]!["UF"]!["nome"]! + " (" + (string)item["microrregiao"]!["mesorregiao"]!["UF"]!["sigla"]! + ")"; Meso = (string)item["microrregiao"]!["mesorregiao"]!["nome"]!; } sugs.Add(new() { ID = (string)item["id"]!, UF = UF, Meso = Meso, City = (string)item["nome"]! }); } catch { MessageBox.Show($"Erro ao carregar {item} do IBGE. Verifique a conexão com a internet ou o arquivo de configuração."); } } } return sugs; } }