Esempio n. 1
0
        public void ValidateSearchByAddressCoverage()
        {
            const string resultData =
                "[ { 'cep': '91790-072', 'logradouro': 'Rua Domingos José Poli', 'complemento': '', 'bairro': 'Restinga', 'localidade': 'Porto Alegre', 'uf': 'RS', 'unidade': '', 'ibge': '4314902', 'gia': '' }, { 'cep': '91910-420', 'logradouro': 'Rua José Domingos Varella', 'complemento': '', 'bairro': 'Cavalhada', 'localidade': 'Porto Alegre', 'uf': 'RS', 'unidade': '', 'ibge': '4314902', 'gia': '' }, { 'cep': '90420-200', 'logradouro': 'Rua Domingos José de Almeida', 'complemento': '', 'bairro': 'Rio Branco', 'localidade': 'Porto Alegre', 'uf': 'RS', 'unidade': '', 'ibge': '4314902', 'gia': '' } ]";
            var httpClientMock = new MockHttpMessageHandler();

            httpClientMock.When("https://viacep.com.br/ws/*/*/*/json")
            .Respond("application/json", resultData);

            var httpClient = new HttpClient(httpClientMock)
            {
                BaseAddress = _baseUrl
            };
            var client = new ViaCepClient(httpClient);

            var results = client.Search("RS", "Porto Alegre", "Domingos Jose");

            Assert.NotNull(results);

            var list = results.ToList();

            Assert.Equal(3, list.Count);
            Assert.All(list, result => Assert.False(result.GIACode.HasValue));
            Assert.All(list, result => Assert.Empty(result.Complement));
            Assert.All(list, result => Assert.Equal("Porto Alegre", result.City));
            Assert.All(list, result => Assert.Equal("RS", result.StateInitials));
            Assert.All(list, result => Assert.Equal(4314902, result.IBGECode));
        }
Esempio n. 2
0
        public void ValidateSearchByZipCodeCoverage()
        {
            const string resultData     = "{'cep': '01001-000','logradouro': 'Praça da Sé','complemento': 'lado ímpar','bairro': 'Sé','localidade': 'São Paulo','uf': 'SP','unidade': '','ibge': '3550308','gia': '1004'}";
            var          httpClientMock = new MockHttpMessageHandler();

            httpClientMock.When("https://viacep.com.br/ws/*/json")
            .Respond("application/json", resultData);

            var httpClient = new HttpClient(httpClientMock)
            {
                BaseAddress = _baseUrl
            };
            var client = new ViaCepClient(httpClient);

            var result = client.Search("01001000");

            Assert.NotNull(result);
            Assert.Equal("01001-000", result.ZipCode);
            Assert.Equal("Praça da Sé", result.Street);
            Assert.Equal("lado ímpar", result.Complement);
            Assert.Equal("Sé", result.Neighborhood);
            Assert.Equal("São Paulo", result.City);
            Assert.Equal("SP", result.StateInitials);
            Assert.Equal(string.Empty, result.Unit);
            Assert.Equal(3550308, result.IBGECode);
            Assert.True(result.GIACode.HasValue);
            Assert.Equal(1004, result.GIACode);
        }
Esempio n. 3
0
        public ViaCepResult Search([FromBody] string zipCode)
        {
            var client = new ViaCepClient();

            var result = client.Search(zipCode);

            string jsonString = JsonSerializer.Serialize(result);

            Console.WriteLine(jsonString);

            return(result);
        }
Esempio n. 4
0
        private void metroTextBoxCEP_Leave(object sender, EventArgs e)
        {
            string cep = UtilityClass.retornaApenasNumeros(this.metroTextBoxCEP.Text);

            if (cep.Length == 8)
            {
                try
                {
                    ViaCepClient viaCepClient         = new ViaCepClient();
                    ViaCepResult resultadoPesquisaCEP = viaCepClient.Search(cep);

                    if (string.IsNullOrWhiteSpace(resultadoPesquisaCEP.StateInitials))
                    {
                        MessageBox.Show("Não foi possível validar o CEP e preencher automaticamente os campos. Você pode enviar este CEP " +
                                        "e preencher os campos manualmente, mas é recomendado verificar se o CEP inserido é valido.",
                                        "CEP não encontrado na base de dados", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                    else
                    {
                        this.metroTextBoxCEP.Text = cep;
                        this.metroComboBoxEstados.SelectedItem = UtilityClass.getNomeUFbyIniciais(resultadoPesquisaCEP.StateInitials);
                        this.metroTextBoxBairro.Text           = resultadoPesquisaCEP.Neighborhood;
                        this.metroTextBoxCidade.Text           = resultadoPesquisaCEP.City;
                        this.metroTextBoxRua.Text = resultadoPesquisaCEP.Street;
                    }
                }
                catch (Exception ex)
                {
                    MensagemModel mensagem = new MensagemModel("Erro ao se conectar na API da ViaCEP", "Ocorreram erros na utilização no Excel, tente novamente.");
                    LogModel      log      = new LogModel(mensagem.Titulo, ex.Message, ex.StackTrace, DateTime.Now);
                    LogController.logarErro(log);
                    MessageBox.Show(mensagem.Corpo, mensagem.Titulo, MessageBoxButtons.OK);
                }
            }
            else
            {
                MessageBox.Show("O CEP inserido é invalido, um cep deve possuir exatamente 8 números", "CEP inválido", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }