예제 #1
0
        public string Get(string cep)
        {
            cep = (string.IsNullOrWhiteSpace(cep) ? cep : cep.Replace("-", ""));

            string mensagem = "Informe um CEP válido";

            Models.BuscaCep.Resultado buscaCep = new Models.BuscaCep.Resultado();

            if (System.Text.RegularExpressions.Regex.IsMatch(cep, ("[0-9]{5}")))
            {
                buscaCep = BuscarCep(cep);
                if (!string.IsNullOrWhiteSpace(buscaCep.Cidade))
                {
                    mensagem = string.Empty;
                }
            }

            if (string.IsNullOrEmpty(mensagem))
            {
                buscaCep.Status = "sucesso";
            }
            else
            {
                buscaCep.Status         = "erro";
                buscaCep.StatusMensagem = mensagem;
            }

            return(JsonConvert.SerializeObject(buscaCep));
        }
예제 #2
0
        private Models.BuscaCep.Resultado ConverterViaCepParaBuscaCep(Models.ViaCep.Resultado viaCep)
        {
            Models.BuscaCep.Resultado buscaCep = new Models.BuscaCep.Resultado();
            if (viaCep != null && (viaCep.erro == null || (viaCep.erro.HasValue && !viaCep.erro.Value)))
            {
                buscaCep.Logradouro = viaCep.logradouro;
                buscaCep.Bairro     = viaCep.bairro;
                buscaCep.Cidade     = viaCep.localidade;
                buscaCep.UF         = viaCep.uf;
                buscaCep.CEP        = (string.IsNullOrWhiteSpace(viaCep.cep) ? null : viaCep.cep.Replace("-", ""));
                buscaCep.Origem     = "ViaCEP";
            }

            return(buscaCep);
        }
예제 #3
0
        private Models.BuscaCep.Resultado ConverterWidenetParaBuscaCep(Models.Widenet.Resultado widenet)
        {
            Models.BuscaCep.Resultado buscaCep = new Models.BuscaCep.Resultado();
            if (widenet != null && widenet.status == 200)
            {
                buscaCep.Logradouro = widenet.address;
                buscaCep.Bairro     = widenet.district;
                buscaCep.Cidade     = widenet.city;
                buscaCep.UF         = widenet.state;
                buscaCep.CEP        = (string.IsNullOrWhiteSpace(widenet.code) ? null : widenet.code.Replace("-", ""));
                buscaCep.Origem     = "Widenet";

                // trata texto com numero no endereço
                if (buscaCep.Logradouro.Contains(" - "))
                {
                    int index = buscaCep.Logradouro.IndexOf(" - ");
                    buscaCep.Logradouro = buscaCep.Logradouro.Substring(0, index + 1).Trim();
                }
            }

            return(buscaCep);
        }