예제 #1
0
        public void ConsultaPorNumeroRecibo()
        {
            var config = new ConfiguracaoDao().BuscarConfiguracao();

            CarregarConfiguracoes(config);

            var numeroRecibo = InputBoxTuche("Número Recibo");

            var consultaReciboServico = new ConsultaReciboServico(numeroRecibo);
            var retorno = consultaReciboServico.Consultar();

            OnSucessoSync(new RetornoEEnvio(retorno));
        }
예제 #2
0
        private static async Task ConsultaPorNumeroRecibo()
        {
            var config = new ConfiguracaoDao().BuscarConfiguracao();

            CarregarConfiguracoes(config);

            var numeroRecibo = RequisitarInput("Número Recibo");

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

            OnSucessoSync(new RetornoEEnvio(retorno));
        }
예제 #3
0
        public RetornoEnviarCte Enviar(int lote, Classes.CTe cte, ConfiguracaoServico configuracaoServico = null)
        {
            var configServico = configuracaoServico ?? ConfiguracaoServico.Instancia;

            ServicoCTeRecepcao servicoRecepcao = new ServicoCTeRecepcao();

            retEnviCte retEnviCte = servicoRecepcao.CTeRecepcao(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 = servicoConsultaRecibo.Consultar(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));
        }
예제 #4
0
        public async Task <RetornoEnviarCte> EnviarAsync(int lote, Classes.CTe cte)
        {
            ServicoCTeRecepcao servicoRecepcao = new ServicoCTeRecepcao();

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

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

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

            retConsReciCTe retConsReciCTe = await servicoConsultaRecibo.ConsultarAsync();


            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  = ConfiguracaoServico.Instancia.VersaoLayout,
                    protCTe = retConsReciCTe.protCTe[0]
                };
            }

            cteProc.SalvarXmlEmDisco();

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