コード例 #1
0
        public EstruturaCEP BuscarEstrutura(string cep)
        {
            try
            {
                bd.Consulta("SELECT TOP 1 TLO_TX + ' ' +LOG_NO AS Logradouro, BAI_NO AS Bairro, LOC_NO AS Cidade, UFE_SG AS Estado   FROM  LOG_LOGRADOURO WHERE CEP = '" + cep.ToSafeString() + "'");

                if (!bd.Consulta().Read())
                {
                    throw new Exception("Não foi possível encontrar nenhum endereço com o CEP: " + cep);
                }

                EstruturaCEP estrutura = new EstruturaCEP()
                {
                    Rua    = bd.LerString("Logradouro"),
                    Bairro = bd.LerString("Bairro"),
                    Cidade = bd.LerString("Cidade"),
                    Estado = bd.LerString("Estado"),
                };

                return(estrutura);
            }
            finally
            {
                bd.Fechar();
            }
        }
コード例 #2
0
        public static GeographicPosition BuscarCoordenadas(string cep, string endereco, string cidade, string estado)
        {
            try
            {
                bool achouCEP  = false;
                var  estrutura = new EstruturaCEP();

                if (!string.IsNullOrEmpty(cep))
                {
                    try
                    {
                        estrutura = BuscarCEP.GetEnderecoEstruturado(cep);
                        achouCEP  = true;
                    }
                    catch (Exception)
                    { }
                }

                if (!achouCEP)
                {
                    if (endereco.Contains("-"))
                    {
                        string[] enderecos = endereco.Split('-');
                        estrutura.Rua = enderecos[0];
                    }
                    else
                    {
                        estrutura.Rua    = endereco;
                        estrutura.Cidade = cidade;
                        estrutura.Estado = estado;
                    }
                }

                var request = new GeocodingRequest();
                request.Address = FormatarEstrutra(estrutura);
                request.Sensor  = "false";
                var response = GeocodingService.GetResponse(request);

                if (response.Status != Google.Api.Maps.Service.ServiceResponseStatus.Ok)
                {
                    throw new Exception("Não foi possível encontrar a sua localização a partir do CEP digitado.");
                }

                return(response.Results[0].Geometry.Location);
            }
            catch (Exception)
            {
                return(null);
            }
        }
コード例 #3
0
 private static string FormatarEstrutra(EstruturaCEP estrutura)
 {
     return(string.Format("{0} , {1} - {2}", estrutura.Rua, estrutura.Cidade, estrutura.Estado));
 }
コード例 #4
0
ファイル: CEP.cs プロジェクト: icaroferj/ir-api
        public static GeographicPosition BuscarCoordenadas(string cep, string endereco, string cidade, string estado)
        {
            try
            {
                LogUtil.Info(string.Format("##RoboAtzSite.BuscarCoordenadas.Initialize## CEP: {0}", cep));

                var achouCEP  = false;
                var estrutura = new EstruturaCEP();

                if (!string.IsNullOrEmpty(cep))
                {
                    try
                    {
                        LogUtil.Debug(string.Format("##RoboAtzSite.BuscarCoordenadas.IniciandoGetEnderecoEstruturado##"));
                        estrutura = BuscarCEP.GetEnderecoEstruturado(cep);
                        achouCEP  = true;
                    }
                    catch (Exception ex)
                    {
                        LogUtil.Error(string.Format("##RoboAtzSite.BuscarCoordenadas.EXCEPTION## MSG: {0}", ex.Message), ex);
                    }
                }

                if (!achouCEP)
                {
                    if (endereco.Contains("-"))
                    {
                        var enderecos = endereco.Split('-');
                        estrutura.Rua = enderecos[0];
                    }
                    else
                    {
                        estrutura.Rua    = endereco;
                        estrutura.Cidade = cidade;
                        estrutura.Estado = estado;
                    }
                }

                var request = new GeocodingRequest {
                    Address = FormatarEstrutra(estrutura), Sensor = "false"
                };

                LogUtil.Info(string.Format("##RoboAtzSite.BuscarCoordenadas## ENDEREÇO_FORMATADO: {0}, LATITUDE/LONGITUDE: {1}", request.Address, request.LatitudeLongitude));

                var response = GeocodingService.GetResponse(request);

                LogUtil.Info(string.Format("##RoboAtzSite.BuscarCoordenadas## RESPONSE_STATUS_GEOCODING_SERVICE: {0}", response.Status));

                if (response.Status != ServiceResponseStatus.Ok)
                {
                    LogUtil.Info(string.Format("##RoboAtzSite.BuscarCoordenadas.ERROR## MSG: {0}", "Não foi possível encontrar a sua localização a partir do CEP digitado"));
                    throw new Exception("Não foi possível encontrar a sua localização a partir do CEP digitado.");
                }

                LogUtil.Info(string.Format("##RoboAtzSite.BuscarCoordenadas.SUCCESS##"));

                return(response.Results[0].Geometry.Location);
            }
            catch (Exception ex)
            {
                LogUtil.Error(string.Format("##RoboAtzSite.BuscarCoordenadas.EXCEPTION## MSG: {0}", ex.Message), ex);
                return(null);
            }
        }