예제 #1
0
        public retEnviCte CTeRecepcao(int lote, List <CTeEletronico> cteEletronicosList)
        {
            var enviCte = PreparaEnvioCTe(lote, cteEletronicosList);

            var webService = WsdlFactory.CriaWsdlCteRecepcao();

            OnAntesDeEnviar(enviCte);

            var retornoXml = webService.cteRecepcaoLote(enviCte.CriaRequestWs());

            var retorno = retEnviCte.LoadXml(retornoXml.OuterXml, enviCte);

            retorno.SalvarXmlEmDisco();

            return(retorno);
        }
예제 #2
0
        public async Task <retEnviCte> CTeRecepcaoAsync(int lote, List <CTeEletronico> cteEletronicosList, ConfiguracaoServico configuracaoServico = null)
        {
            var enviCte = PreparaEnvioCTe(lote, cteEletronicosList, configuracaoServico);

            var webService = WsdlFactory.CriaWsdlCteRecepcao(configuracaoServico);

            OnAntesDeEnviar(enviCte);

            var retornoXml = await webService.cteRecepcaoLoteAsync(enviCte.CriaRequestWs(configuracaoServico));

            var retorno = retEnviCte.LoadXml(retornoXml.OuterXml, enviCte);

            retorno.SalvarXmlEmDisco(configuracaoServico);

            return(retorno);
        }
예제 #3
0
        public async Task <retEnviCte> CTeRecepcao(int lote, List <CTeEletronico> cteEletronicosList)
        {
            var instanciaConfiguracao = ConfiguracaoServico.Instancia;

            var enviCte = ClassesFactory.CriaEnviCTe(lote, cteEletronicosList);

            if (instanciaConfiguracao.tpAmb == TipoAmbiente.Homologacao)
            {
                foreach (var cte in enviCte.CTe)
                {
                    const string razaoSocial = "CT-E EMITIDO EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL";

                    cte.infCte.rem.xNome  = razaoSocial;
                    cte.infCte.dest.xNome = razaoSocial;
                }
            }


            foreach (var cte in enviCte.CTe)
            {
                cte.infCte.ide.tpEmis = instanciaConfiguracao.TipoEmissao;
                cte.Assina();
                cte.ValidaSchema();
                cte.SalvarXmlEmDisco();
            }

            enviCte.ValidaSchema();
            enviCte.SalvarXmlEmDisco();

            var webService = WsdlFactory.CriaWsdlCteRecepcao();

            OnAntesDeEnviar(enviCte);

            var retornoXml = await webService.cteRecepcaoLote(enviCte.CriaRequestWs());

            var retorno = retEnviCte.LoadXml(retornoXml.OuterXml, enviCte);

            retorno.SalvarXmlEmDisco();

            return(retorno);
        }