Example #1
0
        private static async Task ConsultaPorNumeroRecibo()
        {
            var config = new ConfiguracaoDao().BuscarConfiguracao();
            //CarregarConfiguracoes(config);
            var configuracaoServico = MontarConfiguracoes(config);

            var numeroRecibo = RequisitarInput("NĂºmero Recibo");

            var consultaReciboServico = new ConsultaReciboServico(numeroRecibo);
            var retorno = await consultaReciboServico.ConsultarAsync(configuracaoServico);

            OnSucessoSync(new RetornoEEnvio(retorno));
        }
Example #2
0
        public async Task <RetornoEnviarCte> EnviarAsync(int lote, Classes.CTe cte, ConfiguracaoServico configuracaoServico = null)
        {
            var configServico = configuracaoServico ?? ConfiguracaoServico.Instancia;
            ServicoCTeRecepcao servicoRecepcao = new ServicoCTeRecepcao();

            retEnviCte retEnviCte = await servicoRecepcao.CTeRecepcaoAsync(lote, new List <Classes.CTe> {
                cte
            }, configServico);

            if (retEnviCte.cStat != 103)
            {
                return(new RetornoEnviarCte(retEnviCte, null, null));
            }

            ConsultaReciboServico servicoConsultaRecibo = new ConsultaReciboServico(retEnviCte.infRec.nRec);

            retConsReciCTe retConsReciCTe = await servicoConsultaRecibo.ConsultarAsync(configServico);


            cteProc cteProc = null;

            if (retConsReciCTe.cStat == 104)
            {
                if (retConsReciCTe.protCTe[0].infProt.cStat != 100)
                {
                    return(new RetornoEnviarCte(retEnviCte, retConsReciCTe, null));
                }

                cteProc = new cteProc
                {
                    CTe     = cte,
                    versao  = configServico.VersaoLayout,
                    protCTe = retConsReciCTe.protCTe[0]
                };
            }

            cteProc.SalvarXmlEmDisco(configServico);

            return(new RetornoEnviarCte(retEnviCte, retConsReciCTe, cteProc));
        }