public static MDFeEventoMDFe CriaEvento(MDFeEletronico MDFe, MDFeTipoEvento tipoEvento, byte sequenciaEvento, MDFeEventoContainer evento)
        {
            var eventoMDFe = new MDFeEventoMDFe
            {
                Versao    = MDFeConfiguracao.VersaoWebService.VersaoMDFeRecepcaoEvento,
                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   = VersaoServico.Versao100,
                        EventoContainer = evento
                    },
                    DhEvento   = DateTime.Now,
                    NSeqEvento = sequenciaEvento,
                    TpEvento   = tipoEvento
                }
            };

            eventoMDFe.Assinar();

            return(eventoMDFe);
        }
        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);
        }