示例#1
0
 private static void GaranteCodigoDeSucessoOuLancaException(IViaCepResposta resposta)
 {
     if (!resposta.EhCodigoDeSucesso)
     {
         throw new ViaCepException(resposta.CodigoDeStatus);
     }
 }
示例#2
0
        /// <inheritdoc />
        public XDocument ObterEnderecosComoXml(EnderecoRequisicao enderecoRequisicao)
        {
            IViaCepRequisicaoPor <EnderecoRequisicao> requisicao = _requisicaoPorEnderecoFactory.NovaRequisicaoXml(enderecoRequisicao);
            IViaCepResposta resposta = _cliente.ObterResposta(requisicao.ToUri);

            GaranteCodigoDeSucessoOuLancaException(resposta);

            return(resposta.ObterConteudo()
                   .LerComoXml());
        }
示例#3
0
        private string ObterEnderecoPorCepComoString(Cep cep, ViaCepFormatoRequisicao formatoRequisicao)
        {
            IViaCepRequisicaoPor <Cep> requisicao = NovaRequisicaoPorCep(cep, formatoRequisicao);
            IViaCepResposta            resposta   = _cliente.ObterResposta(requisicao.ToUri);

            GaranteCodigoDeSucessoOuLancaException(resposta);

            IViaCepConteudo conteudo = resposta.ObterConteudo();

            GaranteConteudoDaRequisicaoPorCepSemErroOuLancaException(conteudo);

            return(conteudo.LerComoString());
        }
示例#4
0
        /// <inheritdoc />
        public XDocument ObterEnderecoComoXml(Cep cep)
        {
            IViaCepRequisicaoPor <Cep> requisicao = _requisicaoPorCepFactory.NovaRequisicaoXml(cep);
            IViaCepResposta            resposta   = _cliente.ObterResposta(requisicao.ToUri);

            GaranteCodigoDeSucessoOuLancaException(resposta);

            IViaCepConteudo conteudo = resposta.ObterConteudo();

            GaranteConteudoDaRequisicaoPorCepSemErroOuLancaException(conteudo);

            return(conteudo.LerComoXml());
        }
示例#5
0
        private Task <string> ObterEnderecoPorCepComoStringAsync(Cep cep, ViaCepFormatoRequisicao formatoRequisicao)
        => Task.Run(async() =>
        {
            IViaCepRequisicaoPor <Cep> requisicao = NovaRequisicaoPorCep(cep, formatoRequisicao);
            IViaCepResposta resposta = await _cliente.ObterRespostaAsync(requisicao.ToUri);

            GaranteCodigoDeSucessoOuLancaException(resposta);

            IViaCepConteudo conteudo = resposta.ObterConteudo();

            GaranteConteudoDaRequisicaoPorCepSemErroOuLancaException(conteudo);

            return(conteudo.LerComoString());
        });