コード例 #1
0
        private static async Task CriarEnviarCTeConsultaReciboAutomatico2e3()
        {
            var config = new ConfiguracaoDao().BuscarConfiguracao();
            //CarregarConfiguracoes(config);
            var configuracaoServico = MontarConfiguracoes(config);

            #region infCte

            var cteEletronico = new CteEletronico
            {
                infCte = new infCte
                {
                    versao = config.ConfigWebService.Versao,
                    ide    = new ide(configuracaoServico)
                    {
                        cUF   = config.Empresa.SiglaUf,
                        cCT   = GetRandom(),
                        CFOP  = 5353,
                        natOp = "PRESTAÇÃO DE SERVICO DE TRANSPORTE CT-E EXEMPLO"
                    }
                }
            };

            #endregion

            #region ide

            if (config.ConfigWebService.Versao == versao.ve200)
            {
                cteEletronico.infCte.ide.forPag = forPag.Pago;
            }
            cteEletronico.infCte.ide.mod     = ModeloDocumento.CTe;
            cteEletronico.infCte.ide.serie   = config.ConfigWebService.Serie;
            cteEletronico.infCte.ide.nCT     = config.ConfigWebService.Numeracao;
            cteEletronico.infCte.ide.dhEmi   = DateTimeOffset.Now;
            cteEletronico.infCte.ide.tpImp   = tpImp.Retrado;
            cteEletronico.infCte.ide.tpEmis  = tpEmis.teNormal;
            cteEletronico.infCte.ide.tpAmb   = config.ConfigWebService.Ambiente; // o serviço adicionara automaticamente isso para você
            cteEletronico.infCte.ide.tpCTe   = tpCTe.Normal;
            cteEletronico.infCte.ide.procEmi = procEmi.AplicativoContribuinte;
            cteEletronico.infCte.ide.verProc = "0.0.0.1";
            cteEletronico.infCte.ide.cMunEnv = config.Empresa.CodigoIbgeMunicipio;
            cteEletronico.infCte.ide.xMunEnv = config.Empresa.NomeMunicipio;
            cteEletronico.infCte.ide.UFEnv   = config.Empresa.SiglaUf;
            cteEletronico.infCte.ide.modal   = modal.rodoviario;
            cteEletronico.infCte.ide.tpServ  = tpServ.normal;
            cteEletronico.infCte.ide.cMunIni = config.Empresa.CodigoIbgeMunicipio;
            cteEletronico.infCte.ide.xMunIni = config.Empresa.NomeMunicipio;
            cteEletronico.infCte.ide.UFIni   = config.Empresa.SiglaUf;
            cteEletronico.infCte.ide.cMunFim = config.Empresa.CodigoIbgeMunicipio;
            cteEletronico.infCte.ide.xMunFim = config.Empresa.NomeMunicipio;
            cteEletronico.infCte.ide.UFFim   = config.Empresa.SiglaUf;
            cteEletronico.infCte.ide.retira  = retira.Nao;

            switch (config.ConfigWebService.Versao)
            {
            case versao.ve300:
                cteEletronico.infCte.ide.indIEToma = indIEToma.ContribuinteIcms;
                cteEletronico.infCte.ide.tomaBase3 = new toma3
                {
                    toma = toma.Remetente
                };
                break;

            case versao.ve200:
                cteEletronico.infCte.ide.tomaBase3 = new toma03
                {
                    toma = toma.Remetente
                };
                break;
            }

            #endregion

            #region emit

            cteEletronico.infCte.emit = new emit
            {
                CNPJ      = config.Empresa.Cnpj,
                IE        = config.Empresa.InscricaoEstadual,
                xNome     = config.Empresa.Nome,
                xFant     = config.Empresa.NomeFantasia,
                enderEmit = new enderEmit
                {
                    xLgr    = config.Empresa.Logradouro,
                    nro     = config.Empresa.Numero,
                    xCpl    = config.Empresa.Complemento,
                    xBairro = config.Empresa.Bairro,
                    cMun    = config.Empresa.CodigoIbgeMunicipio,
                    xMun    = config.Empresa.NomeMunicipio,
                    CEP     = long.Parse(config.Empresa.Cep),
                    UF      = config.Empresa.SiglaUf,
                    fone    = config.Empresa.Telefone
                }
            };

            #endregion

            // Remetente , no caso adicionei os mesmos dados do emitente.. mas seriam o do remente.

            #region rem

            cteEletronico.infCte.rem = new rem
            {
                CNPJ      = config.Empresa.Cnpj,
                IE        = config.Empresa.InscricaoEstadual,
                xNome     = config.Empresa.Nome,
                xFant     = config.Empresa.NomeFantasia,
                fone      = config.Empresa.Telefone,
                enderReme = new enderReme
                {
                    xLgr    = config.Empresa.Logradouro,
                    nro     = config.Empresa.Numero,
                    xCpl    = config.Empresa.Complemento,
                    xBairro = config.Empresa.Bairro,
                    cMun    = config.Empresa.CodigoIbgeMunicipio,
                    xMun    = config.Empresa.NomeMunicipio,
                    CEP     = long.Parse(config.Empresa.Cep),
                    UF      = config.Empresa.SiglaUf
                }
            };

            #endregion

            // Destinatário

            #region dest

            cteEletronico.infCte.dest = new dest
            {
                CNPJ      = config.Empresa.Cnpj,
                IE        = config.Empresa.InscricaoEstadual,
                xNome     = config.Empresa.Nome,
                fone      = config.Empresa.Telefone,
                enderDest = new enderDest
                {
                    xLgr    = config.Empresa.Logradouro,
                    nro     = config.Empresa.Numero,
                    xCpl    = config.Empresa.Complemento,
                    xBairro = config.Empresa.Bairro,
                    cMun    = config.Empresa.CodigoIbgeMunicipio,
                    xMun    = config.Empresa.NomeMunicipio,
                    CEP     = long.Parse(config.Empresa.Cep),
                    UF      = config.Empresa.SiglaUf
                }
            };

            #endregion

            #region vPrest

            cteEletronico.infCte.vPrest = new vPrest {
                vTPrest = 100m, vRec = 100m
            };

            #endregion

            #region imp

            cteEletronico.infCte.imp = new imp {
                ICMS = new ICMS()
            };

            var icmsSimplesNacional = new ICMSSN();

            cteEletronico.infCte.imp.ICMS.TipoICMS = icmsSimplesNacional;

            if (config.ConfigWebService.Versao == versao.ve300)
            {
                icmsSimplesNacional.CST = CST.ICMS90;
            }

            #endregion

            #region infCTeNorm

            cteEletronico.infCte.infCTeNorm = new infCTeNorm
            {
                infCarga = new infCarga
                {
                    vCarga  = 1000m,
                    proPred = "Linguiça com piqui",
                    infQ    = new List <infQ> {
                        new infQ {
                            cUnid = cUnid.KG, qCarga = 10000, tpMed = "quilos gramas"
                        }
                    }
                }
            };


            cteEletronico.infCte.infCTeNorm.infDoc = new infDoc
            {
                infNFe = new List <infNFe> {
                    new infNFe {
                        chave = "52161021025760000123550010000087341557247948"
                    }
                }
            };

            if (config.ConfigWebService.Versao == versao.ve200)
            {
                cteEletronico.infCte.infCTeNorm.seg = new List <seg> {
                    new seg {
                        respSeg = respSeg.Destinatario
                    }
                }
            }
            ;

            cteEletronico.infCte.infCTeNorm.infModal = new infModal();

            switch (config.ConfigWebService.Versao)
            {
            case versao.ve200:
                cteEletronico.infCte.infCTeNorm.infModal.versaoModal = versaoModal.veM200;
                break;

            case versao.ve300:
                cteEletronico.infCte.infCTeNorm.infModal.versaoModal = versaoModal.veM300;
                break;
            }

            var rodoviario = new rodo {
                RNTRC = config.Empresa.RNTRC
            };

            if (config.ConfigWebService.Versao == versao.ve200)
            {
                rodoviario.dPrev = DateTime.Now;
                rodoviario.lota  = lota.Nao;
            }


            cteEletronico.infCte.infCTeNorm.infModal.ContainerModal = rodoviario;

            #endregion


            var numeroLote = RequisitarInput("Número Lote");

            var servico = new ServicoEnviarCte();

            var retorno = await servico.EnviarAsync(Convert.ToInt32(numeroLote), cteEletronico, configuracaoServico);

            var xmlRetorno = string.Empty;

            if (retorno.CteProc != null)
            {
                xmlRetorno = retorno.CteProc.ObterXmlString();
            }

            if (retorno.RetConsReciCTe.protCTe[0].infProt.cStat != 100)
            {
                xmlRetorno = retorno.RetConsReciCTe.RetornoXmlString;
            }

            OnSucessoSync(new RetornoEEnvio(retorno.RetEnviCte.EnvioXmlString, xmlRetorno));

            config.ConfigWebService.Numeracao++;
            new ConfiguracaoDao().SalvarConfiguracao(config);
        }
コード例 #2
0
        public static string Chave(this CteEletronica cte)
        {
            var chave = cte.infCte.Id.Substring(3, 44);

            return(chave);
        }
コード例 #3
0
ファイル: FactoryEvento.cs プロジェクト: myersBR/DFe.NET
 //Vou manter para evitar quebra de código pois a classe e o metodo são publicos
 public static eventoCTe CriaEvento(CTeEletronico cte, CTeTipoEvento cTeTipoEvento, int sequenciaEvento, EventoContainer container, ConfiguracaoServico configuracaoServico = null)
 {
     return(CriaEvento(cTeTipoEvento, sequenciaEvento, cte.Chave(), cte.infCte.emit.CNPJ, container, configuracaoServico));
 }
コード例 #4
0
 //Vou manter para evitar quebra de código pois a classe e o metodo são publicos
 public static eventoCTe CriaEvento(CTeEletronico cte, CTeTipoEvento cTeTipoEvento, int sequenciaEvento, EventoContainer container)
 {
     return(CriaEvento(cTeTipoEvento, sequenciaEvento, cte.Chave(), cte.infCte.emit.CNPJ, container));
 }
コード例 #5
0
        /// <summary>
        ///     Gera id, cdv, assina e faz alguns ajustes nos dados da classe CTe antes de utilizá-la
        /// </summary>
        /// <param name="cte"></param>
        /// <returns>Retorna um objeto CTe devidamente tradado</returns>
        public static void ValidaSchema(this CteEletronica cte)
        {
            if (cte == null)
            {
                throw new ArgumentNullException("cte");
            }

            var xmlValidacao = cte.ObterXmlString();

            switch (cte.infCte.versao)
            {
            case versao.ve200:
                Validador.Valida(xmlValidacao, "cte_v2.00.xsd");
                break;

            case versao.ve300:
                Validador.Valida(xmlValidacao, "cte_v3.00.xsd");
                break;

            default:
                throw new InvalidOperationException("Nos achamos um erro na hora de validar o schema, " +
                                                    "a versão está inválida, somente é permitido " +
                                                    "versão 2.00 é 3.00");
            }

            if (cte.infCte.ide.tpCTe != tpCTe.Anulacao && cte.infCte.ide.tpCTe != tpCTe.Complemento)  // Ct-e do Tipo Anulação/Complemento não tem Informações do Modal
            {
                var xmlModal = FuncoesXml.ClasseParaXmlString(cte.infCte.infCTeNorm.infModal);

                switch (cte.infCte.infCTeNorm.infModal.versaoModal)
                {
                case versaoModal.veM200:
                    if (cte.infCte.infCTeNorm.infModal.ContainerModal.GetType() == typeof(aereo))
                    {
                        Validador.Valida(xmlModal, "cteModalAereo_v2.00.xsd");
                    }

                    if (cte.infCte.infCTeNorm.infModal.ContainerModal.GetType() == typeof(aquav))
                    {
                        Validador.Valida(xmlModal, "cteModalAquaviario_v2.00.xsd");
                    }

                    if (cte.infCte.infCTeNorm.infModal.ContainerModal.GetType() == typeof(duto))
                    {
                        Validador.Valida(xmlModal, "cteModalDutoviario_v2.00.xsd");
                    }

                    if (cte.infCte.infCTeNorm.infModal.ContainerModal.GetType() == typeof(ferrov))
                    {
                        Validador.Valida(xmlModal, "cteModalFerroviario_v2.00.xsd");
                    }

                    if (cte.infCte.infCTeNorm.infModal.ContainerModal.GetType() == typeof(rodo))
                    {
                        Validador.Valida(xmlModal, "cteModalRodoviario_v2.00.xsd");
                    }

                    if (cte.infCte.infCTeNorm.infModal.ContainerModal.GetType() == typeof(multimodal))
                    {
                        Validador.Valida(xmlModal, "cteMultimodal_v2.00.xsd");
                    }
                    break;

                case versaoModal.veM300:
                    if (cte.infCte.infCTeNorm.infModal.ContainerModal.GetType() == typeof(aereo))
                    {
                        Validador.Valida(xmlModal, "cteModalAereo_v3.00.xsd");
                    }

                    if (cte.infCte.infCTeNorm.infModal.ContainerModal.GetType() == typeof(aquav))
                    {
                        Validador.Valida(xmlModal, "cteModalAquaviario_v3.00.xsd");
                    }

                    if (cte.infCte.infCTeNorm.infModal.ContainerModal.GetType() == typeof(duto))
                    {
                        Validador.Valida(xmlModal, "cteModalDutoviario_v3.00.xsd");
                    }

                    if (cte.infCte.infCTeNorm.infModal.ContainerModal.GetType() == typeof(ferrov))
                    {
                        Validador.Valida(xmlModal, "cteModalFerroviario_v3.00.xsd");
                    }

                    if (cte.infCte.infCTeNorm.infModal.ContainerModal.GetType() == typeof(rodo))
                    {
                        Validador.Valida(xmlModal, "cteModalRodoviario_v3.00.xsd");
                    }

                    if (cte.infCte.infCTeNorm.infModal.ContainerModal.GetType() == typeof(multimodal))
                    {
                        Validador.Valida(xmlModal, "cteMultimodal_v3.00.xsd");
                    }

                    if (cte.infCte.infCTeNorm.infModal.ContainerModal.GetType() == typeof(rodoOS))
                    {
                        Validador.Valida(xmlModal, "cteModalRodoviarioOS_v.3.00.xsd");
                    }
                    break;

                default:
                    throw new InvalidOperationException("Nos achamos um erro na hora de validar o schema, " +
                                                        "a versão está inválida, somente é permitido " +
                                                        "versão 2.00 é 3.00");
                }
            }
        }
コード例 #6
0
        public void CriarEnviarCTe2e3()
        {
            var config = new ConfiguracaoDao().BuscarConfiguracao();

            CarregarConfiguracoes(config);

            var cteEletronico = new CteEletronico();

            #region infCte

            cteEletronico.infCte        = new infCte();
            cteEletronico.infCte.versao = config.ConfigWebService.Versao;

            #endregion

            #region ide

            cteEletronico.infCte.ide       = new ide();
            cteEletronico.infCte.ide.cUF   = config.Empresa.SiglaUf;
            cteEletronico.infCte.ide.cCT   = GetRandom();
            cteEletronico.infCte.ide.CFOP  = 5353;
            cteEletronico.infCte.ide.natOp = "PRESTAÇÃO DE SERVICO DE TRANSPORTE CT-E EXEMPLO";

            if (config.ConfigWebService.Versao == versao.ve200)
            {
                cteEletronico.infCte.ide.forPag = forPag.Pago;
            }
            cteEletronico.infCte.ide.mod     = ModeloDocumento.CTe;
            cteEletronico.infCte.ide.serie   = config.ConfigWebService.Serie;
            cteEletronico.infCte.ide.nCT     = config.ConfigWebService.Numeracao;
            cteEletronico.infCte.ide.dhEmi   = DateTime.Now;
            cteEletronico.infCte.ide.tpImp   = tpImp.Retrado;
            cteEletronico.infCte.ide.tpEmis  = tpEmis.teNormal;
            cteEletronico.infCte.ide.tpAmb   = config.ConfigWebService.Ambiente; // o serviço adicionara automaticamente isso para você
            cteEletronico.infCte.ide.tpCTe   = tpCTe.Normal;
            cteEletronico.infCte.ide.procEmi = procEmi.AplicativoContribuinte;
            cteEletronico.infCte.ide.verProc = "0.0.0.1";
            cteEletronico.infCte.ide.cMunEnv = config.Empresa.CodigoIbgeMunicipio;
            cteEletronico.infCte.ide.xMunEnv = config.Empresa.NomeMunicipio;
            cteEletronico.infCte.ide.UFEnv   = config.Empresa.SiglaUf;
            cteEletronico.infCte.ide.modal   = modal.rodoviario;
            cteEletronico.infCte.ide.tpServ  = tpServ.normal;
            cteEletronico.infCte.ide.cMunIni = config.Empresa.CodigoIbgeMunicipio;
            cteEletronico.infCte.ide.xMunIni = config.Empresa.NomeMunicipio;
            cteEletronico.infCte.ide.UFIni   = config.Empresa.SiglaUf;
            cteEletronico.infCte.ide.cMunFim = config.Empresa.CodigoIbgeMunicipio;
            cteEletronico.infCte.ide.xMunFim = config.Empresa.NomeMunicipio;
            cteEletronico.infCte.ide.UFFim   = config.Empresa.SiglaUf;
            cteEletronico.infCte.ide.retira  = retira.Nao;

            if (config.ConfigWebService.Versao == versao.ve300)
            {
                cteEletronico.infCte.ide.indIEToma = indIEToma.ContribuinteIcms;
            }

            if (config.ConfigWebService.Versao == versao.ve200)
            {
                cteEletronico.infCte.ide.tomaBase3 = new toma03
                {
                    toma = toma.Remetente
                };
            }

            if (config.ConfigWebService.Versao == versao.ve300)
            {
                cteEletronico.infCte.ide.tomaBase3 = new toma3
                {
                    toma = toma.Remetente
                };
            }


            #endregion

            #region emit

            cteEletronico.infCte.emit       = new emit();
            cteEletronico.infCte.emit.CNPJ  = config.Empresa.Cnpj;
            cteEletronico.infCte.emit.IE    = config.Empresa.InscricaoEstadual;
            cteEletronico.infCte.emit.xNome = config.Empresa.Nome;
            cteEletronico.infCte.emit.xFant = config.Empresa.NomeFantasia;

            cteEletronico.infCte.emit.enderEmit         = new enderEmit();
            cteEletronico.infCte.emit.enderEmit.xLgr    = config.Empresa.Logradouro;
            cteEletronico.infCte.emit.enderEmit.nro     = config.Empresa.Numero;
            cteEletronico.infCte.emit.enderEmit.xCpl    = config.Empresa.Complemento;
            cteEletronico.infCte.emit.enderEmit.xBairro = config.Empresa.Bairro;
            cteEletronico.infCte.emit.enderEmit.cMun    = config.Empresa.CodigoIbgeMunicipio;
            cteEletronico.infCte.emit.enderEmit.xMun    = config.Empresa.NomeMunicipio;
            cteEletronico.infCte.emit.enderEmit.CEP     = long.Parse(config.Empresa.Cep);
            cteEletronico.infCte.emit.enderEmit.UF      = config.Empresa.SiglaUf;
            cteEletronico.infCte.emit.enderEmit.fone    = config.Empresa.Telefone;

            #endregion

            // Remetente , no caso adicionei os mesmos dados do emitente.. mas seriam o do remente.
            #region rem
            cteEletronico.infCte.rem       = new rem();
            cteEletronico.infCte.rem.CNPJ  = config.Empresa.Cnpj;
            cteEletronico.infCte.rem.IE    = config.Empresa.InscricaoEstadual;
            cteEletronico.infCte.rem.xNome = config.Empresa.Nome;
            cteEletronico.infCte.rem.xFant = config.Empresa.NomeFantasia;
            cteEletronico.infCte.rem.fone  = config.Empresa.Telefone;

            cteEletronico.infCte.rem.enderReme         = new enderReme();
            cteEletronico.infCte.rem.enderReme.xLgr    = config.Empresa.Logradouro;
            cteEletronico.infCte.rem.enderReme.nro     = config.Empresa.Numero;
            cteEletronico.infCte.rem.enderReme.xCpl    = config.Empresa.Complemento;
            cteEletronico.infCte.rem.enderReme.xBairro = config.Empresa.Bairro;
            cteEletronico.infCte.rem.enderReme.cMun    = config.Empresa.CodigoIbgeMunicipio;
            cteEletronico.infCte.rem.enderReme.xMun    = config.Empresa.NomeMunicipio;
            cteEletronico.infCte.rem.enderReme.CEP     = long.Parse(config.Empresa.Cep);
            cteEletronico.infCte.rem.enderReme.UF      = config.Empresa.SiglaUf;
            #endregion

            // Destinatário
            #region dest

            cteEletronico.infCte.dest       = new dest();
            cteEletronico.infCte.dest.CNPJ  = config.Empresa.Cnpj;
            cteEletronico.infCte.dest.IE    = config.Empresa.InscricaoEstadual;
            cteEletronico.infCte.dest.xNome = config.Empresa.Nome;
            cteEletronico.infCte.dest.fone  = config.Empresa.Telefone;

            cteEletronico.infCte.dest.enderDest         = new enderDest();
            cteEletronico.infCte.dest.enderDest.xLgr    = config.Empresa.Logradouro;
            cteEletronico.infCte.dest.enderDest.nro     = config.Empresa.Numero;
            cteEletronico.infCte.dest.enderDest.xCpl    = config.Empresa.Complemento;
            cteEletronico.infCte.dest.enderDest.xBairro = config.Empresa.Bairro;
            cteEletronico.infCte.dest.enderDest.cMun    = config.Empresa.CodigoIbgeMunicipio;
            cteEletronico.infCte.dest.enderDest.xMun    = config.Empresa.NomeMunicipio;
            cteEletronico.infCte.dest.enderDest.CEP     = long.Parse(config.Empresa.Cep);
            cteEletronico.infCte.dest.enderDest.UF      = config.Empresa.SiglaUf;

            #endregion

            #region vPrest

            cteEletronico.infCte.vPrest         = new vPrest();
            cteEletronico.infCte.vPrest.vTPrest = 100m;
            cteEletronico.infCte.vPrest.vRec    = 100m;

            #endregion

            #region imp

            cteEletronico.infCte.imp      = new imp();
            cteEletronico.infCte.imp.ICMS = new ICMS();

            var icmsSimplesNacional = new ICMSSN();

            cteEletronico.infCte.imp.ICMS.TipoICMS = icmsSimplesNacional;

            if (config.ConfigWebService.Versao == versao.ve300)
            {
                icmsSimplesNacional.CST = CST.ICMS90;
            }

            #endregion

            #region infCTeNorm

            cteEletronico.infCte.infCTeNorm                  = new infCTeNorm();
            cteEletronico.infCte.infCTeNorm.infCarga         = new infCarga();
            cteEletronico.infCte.infCTeNorm.infCarga.vCarga  = 1000m;
            cteEletronico.infCte.infCTeNorm.infCarga.proPred = "Linguiça com piqui";

            cteEletronico.infCte.infCTeNorm.infCarga.infQ = new List <infQ>();
            cteEletronico.infCte.infCTeNorm.infCarga.infQ.Add(new infQ
            {
                cUnid  = cUnid.KG,
                qCarga = 10000,
                tpMed  = "quilos gramas"
            });

            cteEletronico.infCte.infCTeNorm.infDoc        = new infDoc();
            cteEletronico.infCte.infCTeNorm.infDoc.infNFe = new List <infNFe>();
            cteEletronico.infCte.infCTeNorm.infDoc.infNFe.Add(new infNFe
            {
                chave = "52161021025760000123550010000087341557247948"
            });

            if (config.ConfigWebService.Versao == versao.ve200)
            {
                cteEletronico.infCte.infCTeNorm.seg = new List <seg>();
                cteEletronico.infCte.infCTeNorm.seg.Add(new seg
                {
                    respSeg = respSeg.Destinatario
                });
            }

            cteEletronico.infCte.infCTeNorm.infModal = new infModal();

            if (config.ConfigWebService.Versao == versao.ve200)
            {
                cteEletronico.infCte.infCTeNorm.infModal.versaoModal = versaoModal.veM200;
            }

            if (config.ConfigWebService.Versao == versao.ve300)
            {
                cteEletronico.infCte.infCTeNorm.infModal.versaoModal = versaoModal.veM300;
            }

            var rodoviario = new rodo();
            rodoviario.RNTRC = config.Empresa.RNTRC;

            if (config.ConfigWebService.Versao == versao.ve200)
            {
                rodoviario.dPrev = DateTime.Now;
                rodoviario.lota  = lota.Nao;
            }


            cteEletronico.infCte.infCTeNorm.infModal.ContainerModal = rodoviario;
            #endregion


            var numeroLote = InputBoxTuche("Número Lote");

            var servicoRecepcao = new ServicoCTeRecepcao();

            // Evento executado antes do envio do CT-e para o WebService
            // servicoRecepcao.AntesDeEnviar += AntesEnviarLoteCte;

            var retornoEnvio = servicoRecepcao.CTeRecepcao(int.Parse(numeroLote), new List <CteEletronico> {
                cteEletronico
            });

            OnSucessoSync(new RetornoEEnvio(retornoEnvio));

            config.ConfigWebService.Numeracao++;
            new ConfiguracaoDao().SalvarConfiguracao(config);
        }
コード例 #7
0
        /// <summary>
        ///     Coverte uma string XML no formato CTe para um objeto CTe
        /// </summary>
        /// <param name="cte"></param>
        /// <param name="xmlString"></param>
        /// <returns>Retorna um objeto do tipo CTe</returns>
        public static CteEletronica CarregarDeXmlString(this CteEletronica cte, string xmlString)
        {
            var s = FuncoesXml.ObterNodeDeStringXml(typeof(CteEletronica).Name, xmlString);

            return(FuncoesXml.XmlStringParaClasse <CteEletronica>(s));
        }
コード例 #8
0
 /// <summary>
 ///     Converte o objeto CTe para uma string no formato XML
 /// </summary>
 /// <param name="cte"></param>
 /// <returns>Retorna uma string no formato XML com os dados da CTe</returns>
 public static string ObterXmlString(this CteEletronica cte)
 {
     return(FuncoesXml.ClasseParaXmlString(cte));
 }
コード例 #9
0
        /// <summary>
        ///     Carrega um arquivo XML para um objeto da classe CTe
        /// </summary>
        /// <param name="cte"></param>
        /// <param name="arquivoXml">arquivo XML</param>
        /// <returns>Retorna uma NFe carregada com os dados do XML</returns>
        public static CteEletronica CarregarDeArquivoXml(this CteEletronica cte, string arquivoXml)
        {
            var s = FuncoesXml.ObterNodeDeArquivoXml(typeof(CteEletronica).Name, arquivoXml);

            return(FuncoesXml.XmlStringParaClasse <CteEletronica>(s));
        }
コード例 #10
0
ファイル: ServicoController.cs プロジェクト: myrp/DFe.NET
 public async Task <retEventoCTe> ExecutarAsync(CteEletronico cte, int sequenciaEvento, EventoContainer container, CTeTipoEvento cTeTipoEvento, ConfiguracaoServico configuracaoServico = null)
 {
     return(await ExecutarAsync(cTeTipoEvento, sequenciaEvento, cte.Chave(), cte.infCte.emit.CNPJ, container, configuracaoServico));
 }
コード例 #11
0
ファイル: ServicoController.cs プロジェクト: myrp/DFe.NET
 public retEventoCTe Executar(CteEletronico cte, int sequenciaEvento, EventoContainer container, CTeTipoEvento cTeTipoEvento, ConfiguracaoServico configuracaoServico = null)
 {
     return(Executar(cTeTipoEvento, sequenciaEvento, cte.Chave(), cte.infCte.emit.CNPJ, container, configuracaoServico));
 }