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(); } }
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); } }
private static string FormatarEstrutra(EstruturaCEP estrutura) { return(string.Format("{0} , {1} - {2}", estrutura.Rua, estrutura.Cidade, estrutura.Estado)); }
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); } }