コード例 #1
0
        public static void ValidarSchema(this MDFeEventoMDFe evento)
        {
            var xmlValido = evento.XmlString();

            Validador.Valida(xmlValido, "eventoMDFe_v1.00.xsd");

            var tipoEvento = evento.InfEvento.DetEvento.EventoContainer.GetType();

            if (tipoEvento == typeof(MDFeEvCancMDFe))
            {
                var objetoXml = (MDFeEvCancMDFe)evento.InfEvento.DetEvento.EventoContainer;
                objetoXml.ValidaSchema();
            }

            if (tipoEvento == typeof(MDFeEvEncMDFe))
            {
                var objetoXml = (MDFeEvEncMDFe)evento.InfEvento.DetEvento.EventoContainer;

                objetoXml.ValidaSchema();
            }

            if (tipoEvento == typeof(MDFeEvIncCondutorMDFe))
            {
                var objetoXml = (MDFeEvIncCondutorMDFe)evento.InfEvento.DetEvento.EventoContainer;

                objetoXml.ValidaSchema();
            }
        }
コード例 #2
0
        public static MDFeEventoMDFe CriaEvento(MDFeEletronico MDFe, MDFeTipoEvento tipoEvento, byte sequenciaEvento, MDFeEventoContainer evento)
        {
            var eventoMDFe = new MDFeEventoMDFe
            {
                Versao = MDFeConfiguracao.VersaoWebService.VersaoLayout,
                InfEvento = new MDFeInfEvento
                {
                    Id = "ID" + (long)tipoEvento + MDFe.Chave() + sequenciaEvento.ToString("D2"),
                    TpAmb = MDFeConfiguracao.VersaoWebService.TipoAmbiente,
                    CNPJ = MDFe.CNPJEmitente(),
                    COrgao = MDFe.UFEmitente(),
                    ChMDFe = MDFe.Chave(),
                    DetEvento = new MDFeDetEvento
                    {
                        VersaoServico = MDFeConfiguracao.VersaoWebService.VersaoLayout,
                        EventoContainer = evento
                    },
                    DhEvento = DateTime.Now,
                    NSeqEvento = sequenciaEvento,
                    TpEvento = tipoEvento
                }
            };

            eventoMDFe.Assinar();

            return eventoMDFe;
        }
コード例 #3
0
ファイル: FactoryEvento.cs プロジェクト: leandrormd/DFe.NET
        public static MDFeEventoMDFe CriaEvento(Estado UFEmitente, string ChaveAcesso, string CPFCNPJEmitente, MDFeTipoEvento tipoEvento, byte sequenciaEvento, MDFeEventoContainer evento)
        {
            var eventoMDFe = new MDFeEventoMDFe
            {
                Versao    = MDFeConfiguracao.VersaoWebService.VersaoLayout,
                InfEvento = new MDFeInfEvento
                {
                    Id        = "ID" + (long)tipoEvento + ChaveAcesso + sequenciaEvento.ToString("D2"),
                    TpAmb     = MDFeConfiguracao.VersaoWebService.TipoAmbiente,
                    COrgao    = UFEmitente,
                    ChMDFe    = ChaveAcesso,
                    DetEvento = new MDFeDetEvento
                    {
                        VersaoServico   = MDFeConfiguracao.VersaoWebService.VersaoLayout,
                        EventoContainer = evento
                    },
                    DhEvento   = DateTime.Now,
                    NSeqEvento = sequenciaEvento,
                    TpEvento   = tipoEvento
                }
            };

            if (CPFCNPJEmitente.Length > 11)
            {
                eventoMDFe.InfEvento.CNPJ = CPFCNPJEmitente;
            }
            else
            {
                eventoMDFe.InfEvento.CPF = CPFCNPJEmitente;
            }

            eventoMDFe.Assinar();

            return(eventoMDFe);
        }
コード例 #4
0
        public static XmlDocument CriaXmlRequestWs(this MDFeEventoMDFe evento)
        {
            var xmlRequest = new XmlDocument();

            xmlRequest.LoadXml(evento.XmlString());

            return(xmlRequest);
        }
コード例 #5
0
ファイル: MDFeRetEventoMDFe.cs プロジェクト: pmvarela/DFe
        public static MDFeRetEventoMDFe LoadXml(string xml, MDFeEventoMDFe evento)
        {
            var retorno = LoadXml(xml);

            retorno.EnvioXmlString = FuncoesXml.ClasseParaXmlString(evento);

            return(retorno);
        }
コード例 #6
0
        public static void SalvarXmlEmDisco(this MDFeEventoMDFe evento, string chave)
        {
            if (MDFeConfiguracao.NaoSalvarXml())
            {
                return;
            }

            var caminhoXml = MDFeConfiguracao.CaminhoSalvarXml;

            var arquivoSalvar = caminhoXml + @"\" + chave + "-ped-eve.xml";

            FuncoesXml.ClasseParaArquivoXml(evento, arquivoSalvar);
        }
コード例 #7
0
        public static void ValidarSchema(this MDFeEventoMDFe evento)
        {
            var xmlValido = evento.XmlString();

            switch (MDFeConfiguracao.VersaoWebService.VersaoLayout)
            {
            case VersaoServico.Versao100:
                Validador.Valida(xmlValido, "eventoMDFe_v1.00.xsd");
                break;

            case VersaoServico.Versao300:
                Validador.Valida(xmlValido, "eventoMDFe_v3.00.xsd");
                break;
            }

            var tipoEvento = evento.InfEvento.DetEvento.EventoContainer.GetType();

            if (tipoEvento == typeof(MDFeEvCancMDFe))
            {
                var objetoXml = (MDFeEvCancMDFe)evento.InfEvento.DetEvento.EventoContainer;
                objetoXml.ValidaSchema();
            }

            if (tipoEvento == typeof(MDFeEvEncMDFe))
            {
                var objetoXml = (MDFeEvEncMDFe)evento.InfEvento.DetEvento.EventoContainer;

                objetoXml.ValidaSchema();
            }

            if (tipoEvento == typeof(MDFeEvIncCondutorMDFe))
            {
                var objetoXml = (MDFeEvIncCondutorMDFe)evento.InfEvento.DetEvento.EventoContainer;

                objetoXml.ValidaSchema();
            }

            if (tipoEvento == typeof(MDFeEvIncDFeMDFe))
            {
                var objetoXml = (MDFeEvIncDFeMDFe)evento.InfEvento.DetEvento.EventoContainer;

                objetoXml.ValidaSchema();
            }

            if (tipoEvento == typeof(evPagtoOperMDFe))
            {
                var objetoXml = (evPagtoOperMDFe)evento.InfEvento.DetEvento.EventoContainer;

                objetoXml.ValidaSchema();
            }
        }
コード例 #8
0
 public static void Assinar(this MDFeEventoMDFe evento)
 {
     evento.Signature = AssinaturaDigital.Assina(evento, evento.InfEvento.Id,
                                                 MDFeConfiguracao.X509Certificate2);
 }
コード例 #9
0
 public static string XmlString(this MDFeEventoMDFe evento)
 {
     return(FuncoesXml.ClasseParaXmlString(evento));
 }