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); }
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); }