CONSULTA ENDEREÇO VIA CEP

 Tópico anterior Próximo tópico Novo tópico

CONSULTA ENDEREÇO VIA CEP

VB.NET

 Compartilhe  Compartilhe  Compartilhe
#491044 - 02/11/2019 12:53:40

PLUGSOFTSM
SANTA MARIA
Cadast. em:Julho/2015


Pessoal....
Tenho um webService que me retorna o endereço a partir de um CEP, ou o Cep a partir de um endereço

A função que uso á a seguinte:

    Public Function ObterEndereco(CEP As String) As Tuple(Of String, Byte, String, Long, String, String)
        Try
            Dim St As String = ""
            For Each C As Char In CEP
                If Char.IsDigit(C) Then St += C
            Next
            If St.Length <> 8 Then Throw New Exception("O CEP não foi informado ou o mesmo está incorreto...")
            Dim PCEP As PlugSoftCEP.CEPService = New PlugSoftCEP.CEPService
            St = PCEP.obterLogradouroAuth(St, "Usuario", "Senha")
            If Not St.Contains(",") Then Throw New Exception(St)
            Dim A() As String = St.Split(",")
            Dim UF As String = A(3).Trim.ToUpper
            Dim CodUF As Byte = 0
            If A(4).Trim <> "" Then CodUF = A(4).Trim.Substring(0, 2)
            Dim NomeCity As String = A(2).Trim.ToUpper
            Dim CodCity As Long = Val(A(4).Trim)
            Dim Bairro As String = A(1).Trim.ToUpper
            Dim B() As String = A(0).Split("-")
            Dim Ender As String = B(0).Trim.ToUpper
            Return New Tuple(Of String, Byte, String, Long, String, String)(UF, CodUF, NomeCity, CodCity, Bairro, Ender)
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Consulta Endereço", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Return Nothing
        End Try
    End Function

Quando uso a função, me retorna um Tuple com os nomes Item1, item2, Item3, Item4, Item5 e Item6
Aí fica difícil saber o conteúdo de cada parametro
Queria saber se alguém conhece um modo de mudar Item1 por UF, Item2 por CodUF e assim sucessivamente

Sei que alguns vão postar que eu poderia criar uma classe ou structure, mas eu não quero isso...quero aproveitar o que já está pronto



#491047 - 03/11/2019 19:13:37

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
O retorno de "obterLogradouroAuth" é um Tupple mesmo? Verifique se não é um objeto apropriado. Se não for, mande prender quem fez esse serviço e remedie a situação com um mapeamento para um objeto apropriado ao que você quer.

_______________________________________________________________________
Virei Oráculo!
The end is nigh, be ready for the nukes!


#491048 - 03/11/2019 21:18:39

PLUGSOFTSM
SANTA MARIA
Cadast. em:Julho/2015


Amigo... Não me ajudou muito
Eu já citei que poderia alterar a função tranquilamente
O Exemplo eu só postei pra citar a tuple...
O meu questionamento é apenas se tem como mudar os nomes Item1, Item2,....pois uso a tuple em muitos códigos do meu sistema...
O problema tratado não tem nada a ver com a função obterLogradouroAuth




#491049 - 03/11/2019 23:05:23

MARCELOKROL
REBOUCAS
Cadast. em:Julho/2004


Última edição em 03/11/2019 23:07:20 por MARCELOKROL

Bom pode ser que esteja equivocado, mas se você quer mudar e ao mesmo tempo não pode mudar, crie um outro webservice, retornando uma classe com as propriedades desejadas e vá migrando aos poucos. Desse modo, nos métodos novos já usa o WS novo e os velhos vai adaptando aos poucos.

Editado:
Esqueci de citar, creio que o tuple irá retornar valores genéricos mesmo, não tendo como mudar, e também acho que o uso dele é válido para retorno com até no máximo 3 elementos.

Espero ter contribuído.

Abraço.




#491050 - 03/11/2019 23:27:33

NICKOSOFT
SANTO ANDRE
Cadast. em:Maio/2009


sem mandar pra lugar feio, mas pq nao usa do proprio correio, certamente estara atualizado primeiro q qq servico alternativo desses.....



#491064 - 04/11/2019 15:23:16

FOXMAN
BARRETOS
Cadast. em:Janeiro/2001


Membro da equipe

Última edição em 04/11/2019 15:32:25 por FOXMAN

Citação:
:
sem mandar pra lugar feio, mas pq nao usa do proprio correio, certamente estara atualizado primeiro q qq servico alternativo desses.....

Eu criei uma DLL que faz a consulta DIRETAMENTE NO SITE DOS CORREIOS.
Já uso a pelo menos uns 5 anos sem problemas....
Se eles mudarem o tipo lá ai tenho que mudar aqui também.....mas por enquanto não mudaram.....

EDIT:

No meu caso para buscar um endereço pelo CEP...
Faço o seguinte :
No evento desejado.....

                    resultado r = new resultado();
                    r = Controle.Acao.ValidaCEP(sender);
                    txtBairro.Text = r.bairro;
                    txtCidade.Text = r.cidade;
                    txtEndereco.Text = r.logradouro;
                    txtUF.Text = r.estado;








Grupo DotNet.Br no FaceBook

Grupo WhatsDev



#491072 - 04/11/2019 20:12:21

NICKOSOFT
SANTO ANDRE
Cadast. em:Maio/2009


aqui http://www.macoratti.net/17/07/vbn_consws1.htm
consumindo diretamente o webservice dos correios

sem sombra de duvidas, se resolvem sabotar e mudar, muita gente ta perdida....



#491074 - 04/11/2019 23:08:56

PLUGSOFTSM
SANTA MARIA
Cadast. em:Julho/2015


NIKSOFT
MUITO OBRIGADO
VOU OLHAR



#491077 - 04/11/2019 23:40:21

FOXMAN
BARRETOS
Cadast. em:Janeiro/2001


Membro da equipe
Citação:
:
aqui http://www.macoratti.net/17/07/vbn_consws1.htm
consumindo diretamente o webservice dos correios

sem sombra de duvidas, se resolvem sabotar e mudar, muita gente ta perdida....

Bem, eu não utilizo nada vinculado ao webservice...
Não sei se é uma boa um algo ruim....
Mas minha DLL passou por todas as mudança do site dos correios nos últimos 5 anos.
A mesma DLL faz os cálculos de frete(sedex, sedex10, etc...etc..)

Uma sugestão....
Analise como se comporta o site dos correios e faça algo que atenda as suas necessidades......


Grupo DotNet.Br no FaceBook

Grupo WhatsDev



#491092 - 05/11/2019 14:19:38

VERAPALI
CURITIBA
Cadast. em:Dezembro/2003


Interessante né ?
Neste momento que se discute a privatização da empresa, será que não seria melhor usar um outro serviço (como viacep.com.br por exemplo), pois com certeza os outros 'serviços' não devem mudar sua forma de retornar os dados, já os correios vai mudar tudo com certeza (ou estou errada)

Vera Lucia


#491099 - 06/11/2019 09:49:27

NICKOSOFT
SANTO ANDRE
Cadast. em:Maio/2009


por hora é o q temos de mais atualizado, se mudarem, devem fornecer o serviço apenas de uma forma diferente, mas ainda sera a fonte mais atualizada dos dados....esses serviços alternativos vão levar um tempo para se adequar a obter as informações do jeito novo....



 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por PLUGSOFTSM em 14/11/2019 23:22:11