Exemplo n.º 1
0
        private static enviCTe PreparaEnvioCTe(int lote, List <CTeEletronico> cteEletronicosList, ConfiguracaoServico configuracaoServico = null)
        {
            var instanciaConfiguracao = configuracaoServico ?? ConfiguracaoServico.Instancia;

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

            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(instanciaConfiguracao);
                cte.infCTeSupl = cte.QrCode(instanciaConfiguracao.X509Certificate2, Encoding.UTF8, instanciaConfiguracao.IsAdicionaQrCode);
                cte.ValidaSchema(instanciaConfiguracao);
                cte.SalvarXmlEmDisco(instanciaConfiguracao);
            }

            enviCte.ValidaSchema(instanciaConfiguracao);
            enviCte.SalvarXmlEmDisco(instanciaConfiguracao);
            return(enviCte);
        }
Exemplo n.º 2
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);
        }