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;
        }
        public MDFeRetEventoMDFe MDFeEventoPagamentoOperacaoTransporte(MDFeEletronico mdfe, byte sequenciaEvento, string protocolo,
                                                                       int qtdViagens, int nroViagem)
        {
            var pagamento = ClassesFactory.CriaEvPagtoOperMDFe(protocolo, mdfe, qtdViagens, nroViagem);

            return(new ServicoController().Executar(mdfe, sequenciaEvento, pagamento, MDFeTipoEvento.PagamentoOperacaoTransporte));
        }
示例#3
0
        public MDFeRetEventoMDFe MDFeEventoCancelar(MDFeEletronica mdfe, byte sequenciaEvento, string protocolo,
                                                    string justificativa)
        {
            var eventoCancelamento = new EventoCancelar();

            return(eventoCancelamento.MDFeEventoCancelar(mdfe, sequenciaEvento, protocolo, justificativa));
        }
示例#4
0
        public MDFeRetEventoMDFe MDFeEventoIncluirDFe(MDFeEletronico mdfe, byte sequenciaEvento, string protocolo,
                                                      string codigoMunicipioCarregamento, string nomeMunicipioCarregamento, List <MDFeInfDocInc> informacoesDocumentos)
        {
            var inclusao = ClassesFactory.CriaEvIncDFeMDFe(protocolo, codigoMunicipioCarregamento, nomeMunicipioCarregamento, informacoesDocumentos);

            return(new ServicoController().Executar(mdfe, sequenciaEvento, inclusao, MDFeTipoEvento.InclusaoDFe));
        }
示例#5
0
        public MDFeRetEnviMDFe MDFeRecepcao(long lote, MDFeEletronico mdfe)
        {
            var enviMDFe = ClassesFactory.CriaEnviMDFe(lote, mdfe);

            switch (MDFeConfiguracao.VersaoWebService.VersaoLayout)
            {
            case VersaoServico.Versao100:
                mdfe.InfMDFe.InfModal.VersaoModal = MDFeVersaoModal.Versao100;
                mdfe.InfMDFe.Ide.ProxyDhIniViagem = mdfe.InfMDFe.Ide.DhIniViagem.ParaDataHoraStringSemUtc();
                break;

            case VersaoServico.Versao300:
                mdfe.InfMDFe.InfModal.VersaoModal = MDFeVersaoModal.Versao300;
                mdfe.InfMDFe.Ide.ProxyDhIniViagem = mdfe.InfMDFe.Ide.DhIniViagem.ParaDataHoraStringUtc();
                break;
            }

            enviMDFe.MDFe.Assina(GerouChave, this);
            enviMDFe.Valida();
            enviMDFe.SalvarXmlEmDisco();

            var webService = WsdlFactory.CriaWsdlMDFeRecepcao();

            OnAntesDeEnviar(enviMDFe);

            var retornoXml = webService.mdfeRecepcaoLote(enviMDFe.CriaXmlRequestWs());

            var retorno = MDFeRetEnviMDFe.LoadXml(retornoXml.OuterXml, enviMDFe);

            retorno.SalvarXmlEmDisco();

            return(retorno);
        }
        public MDFeRetEventoMDFe MDFeEventoIncluirCondutor(MDFeEletronico mdfe, byte sequenciaEvento, string nome, string cpf)
        {
            var incluirCodutor = ClassesFactory.CriaEvIncCondutorMDFe(nome, cpf);

            var retorno = new ServicoController().Executar(mdfe, sequenciaEvento, incluirCodutor, MDFeTipoEvento.InclusaoDeCondutor);

            return(retorno);
        }
示例#7
0
        public MDFeRetEventoMDFe MDFeEventoIncluirDFe(
            MDFeEletronica mdfe, byte sequenciaEvento, string protocolo,
            string codigoMunicipioCarregamento, string nomeMunicipioCarregamento, List <MDFeInfDocInc> informacoesDocumentos)
        {
            var eventoIncluirDFe = new EventoInclusaoDFe();

            return(eventoIncluirDFe.MDFeEventoIncluirDFe(mdfe, sequenciaEvento, protocolo, codigoMunicipioCarregamento, nomeMunicipioCarregamento, informacoesDocumentos));
        }
        public MDFeRetEventoMDFe MDFeEventoCancelar(MDFeEletronico mdfe, byte sequenciaEvento, string protocolo, string justificativa)
        {
            var cancelamento = ClassesFactory.CriaEvCancMDFe(protocolo, justificativa);

            var retorno = new ServicoController().Executar(mdfe, sequenciaEvento, cancelamento, MDFeTipoEvento.Cancelamento);

            return(retorno);
        }
示例#9
0
        public MDFeRetEventoMDFe MDFeEventoEncerramento(MDFeEletronico mdfe, byte sequenciaEvento, string protocolo)
        {
            var encerramento = ClassesFactory.CriaEvEncMDFe(mdfe, protocolo);

            var retorno = new ServicoController().Executar(mdfe, sequenciaEvento, encerramento, MDFeTipoEvento.Encerramento);

            return(retorno);
        }
示例#10
0
        public MDFeRetEventoMDFe MDFeEventoIncluirCondutor(
            MDFeEletronica mdfe, byte sequenciaEvento, string nome,
            string cpf)
        {
            var eventoIncluirCondutor = new EventoInclusaoCondutor();

            return(eventoIncluirCondutor.MDFeEventoIncluirCondutor(mdfe, sequenciaEvento, nome, cpf));
        }
示例#11
0
        public static MDFeEnviMDFe CriaEnviMDFe(long lote, MDFeEletronico mdfe)
        {
            var enviMdfe = new MDFeEnviMDFe
            {
                MDFe   = mdfe,
                IdLote = lote.ToString(),
                Versao = MDFeConfiguracao.VersaoWebService.VersaoLayout
            };

            return(enviMdfe);
        }
示例#12
0
        public static MDFeEnviMDFe CriaEnviMDFe(long lote, MDFeEletronico mdfe)
        {
            var enviMdfe = new MDFeEnviMDFe
            {
                MDFe   = mdfe,
                IdLote = lote.ToString(),
                Versao = VersaoServico.Versao100
            };

            return(enviMdfe);
        }
示例#13
0
        public static MDFeEvEncMDFe CriaEvEncMDFe(MDFeEletronico mdfe, string protocolo)
        {
            var encerramento = new MDFeEvEncMDFe
            {
                CUF        = mdfe.UFEmitente(),
                DtEnc      = DateTime.Now,
                DescEvento = "Encerramento",
                CMun       = mdfe.CodigoIbgeMunicipioEmitente(),
                NProt      = protocolo
            };

            return(encerramento);
        }
示例#14
0
        public MDFeRetEnviMDFe MDFeRecepcao(long lote, MDFeEletronico mdfe)
        {
            var enviMDFe = ClassesFactory.CriaEnviMDFe(lote, mdfe);

            enviMDFe.MDFe.Assina();
            enviMDFe.Valida();
            enviMDFe.SalvarXmlEmDisco();

            var webService = WsdlFactory.CriaWsdlMDFeRecepcao();
            var retornoXml = webService.mdfeRecepcaoLote(enviMDFe.CriaXmlRequestWs());

            var retorno = MDFeRetEnviMDFe.LoadXml(retornoXml.OuterXml, enviMDFe);

            retorno.SalvarXmlEmDisco();

            return(retorno);
        }
        public MDFeRetEventoMDFe Executar(MDFeEletronico mdfe, byte sequenciaEvento, MDFeEventoContainer eventoContainer, MDFeTipoEvento tipoEvento)
        {
            var evento = FactoryEvento.CriaEvento(mdfe,
                                                  tipoEvento,
                                                  sequenciaEvento,
                                                  eventoContainer);

            evento.ValidarSchema();
            evento.SalvarXmlEmDisco(mdfe.Chave());

            var webService = WsdlFactory.CriaWsdlMDFeRecepcaoEvento();
            var retornoXml = webService.mdfeRecepcaoEvento(evento.CriaXmlRequestWs());

            var retorno = MDFeRetEventoMDFe.LoadXml(retornoXml.OuterXml, evento);

            retorno.SalvarXmlEmDisco(mdfe.Chave());

            return(retorno);
        }
示例#16
0
        public MDFeRetEventoMDFe MDFeEventoEncerramentoMDFeEventoEncerramento(MDFeEletronica mdfe, Estado estadoEncerramento, long codigoMunicipioEncerramento, byte sequenciaEvento, string protocolo)
        {
            var eventoEncerramento = new EventoEncerramento();

            return(eventoEncerramento.MDFeEventoEncerramento(mdfe, estadoEncerramento, codigoMunicipioEncerramento, sequenciaEvento, protocolo));
        }
示例#17
0
        public MDFeRetEventoMDFe MDFeEventoEncerramentoMDFeEventoEncerramento(MDFeEletronica mdfe, byte sequenciaEvento, string protocolo)
        {
            var eventoEncerramento = new EventoEncerramento();

            return(eventoEncerramento.MDFeEventoEncerramento(mdfe, sequenciaEvento, protocolo));
        }
示例#18
0
        public MDFeRetEventoMDFe MDFeEventoPagamentoOperacaoTransporte(MDFeEletronica mdfe, byte sequenciaEvento, string protocolo, int qtdViagens, int nroViagem)
        {
            var eventoPagamento = new EventoPagamentoOperacaoTransporte();

            return(eventoPagamento.MDFeEventoPagamentoOperacaoTransporte(mdfe, sequenciaEvento, protocolo, qtdViagens, nroViagem));
        }