Пример #1
0
        private void BuscarCEP(object sender, EventArgs e)
        {
            ResultadoLabel.Text = string.Empty;

            string cep = MaskTool.RemoveMask(CepEntry.Text);

            //Validar CEP inserido
            if (string.IsNullOrEmpty(cep) || cep.Length != 8 || !int.TryParse(cep, out int cepInt))
            {
                DisplayAlert("Alerta", "CEP informado é inválido!", "OK");
                return;
            }

            CepEntry.Text = MaskTool.RenderMask("#####-###", cep);

            //Busca CEP na internet
            Result result = ViaCEPService.BuscarEnderecoCep(cep, out Endereco endereco);

            if (!result.Sucess)
            {
                DisplayAlert("Erro", $"Ocorreu um erro na transação. Detalhes:\n{result.Message}", "OK");
                return;
            }

            //Exibe CEP na tela
            ResultadoLabel.Text = $"Cidade: {endereco.Localidade}\n" +
                                  $"UF: {endereco.Uf}\n" +
                                  $"Bairro: {endereco.Bairro}\n" +
                                  $"Rua: {endereco.Logradouro}\n" +
                                  $"Complemento: {endereco.Complemento}\n";
        }
Пример #2
0
        /// <summary>
        /// Busca o endereço do CEP fornecido na API ViaCEP
        /// </summary>
        /// <param name="cep">Cep consultado</param>
        /// <param name="endereco">Enderço obtido na consulta</param>
        /// <returns>Objeto Result com resultado da operação</returns>
        public static Result BuscarEnderecoCep(string cep, out Endereco endereco)
        {
            Result result = new Result();

            endereco = null;

            try
            {
                string urlConsultaCep = string.Format(Url, cep);

                WebClient webClient = new WebClient();

                string resposta = webClient.DownloadString(urlConsultaCep);

                endereco = JsonConvert.DeserializeObject <Endereco>(resposta);

                if (endereco.NotPopulated)
                {
                    return(new Result($"Falha ao consultar. Endereço não encontrado para o CEP {MaskTool.RenderMask("#####-###", cep)}."));
                }
            }
            catch (Exception ex)
            {
                result = new Result(ex);
            }

            return(result);
        }