public static EspecificacaoRegistro GetEspecificacaoRegistro(RegistroBase registro)
        {
            EspecificacaoRegistro especificacao = (from e in EspecificacaoRegistro._Especificacoes
                                                   where e.IdentificadorTipoRegistro == registro.REG
                                                   select e).FirstOrDefault();

            if (especificacao == null)
            {
                especificacao = new EspecificacaoRegistro(registro);
                EspecificacaoRegistro._Especificacoes.Add(especificacao);
            }

            return especificacao;
        }
        public static EspecificacaoRegistro GetEspecificacaoRegistro(RegistroBase registro)
        {
            EspecificacaoRegistro especificacao = (from e in EspecificacaoRegistro._Especificacoes
                                                   where e.IdentificadorTipoRegistro == registro.REG
                                                   select e).FirstOrDefault();

            if (especificacao == null)
            {
                especificacao = new EspecificacaoRegistro(registro);
                EspecificacaoRegistro._Especificacoes.Add(especificacao);
            }

            return(especificacao);
        }
 private EspecificacaoRegistro(RegistroBase registro)
 {
     this._IdentificadorTipoRegistro = registro.REG;
     this._Campos = (from p in registro.GetType().GetProperties()
                     select new
                     {
                         campos = new CampoRegistro() { Nome = p.Name, TipoCampo = (TipoCampoAttribute)(p.GetCustomAttributes(typeof(TipoCampoAttribute), true).FirstOrDefault()) },
                         p.Name,
                         TipoCampo = (TipoCampoAttribute)(p.GetCustomAttributes(typeof(TipoCampoAttribute), true).FirstOrDefault())
                     })
                     .Where(p => p.TipoCampo != null)
                     .OrderBy(p => p.TipoCampo.Ordem)
                     .Select(p => new CampoRegistro() { Nome = p.Name, TipoCampo = p.TipoCampo })
                     .ToList();
 }
 private EspecificacaoRegistro(RegistroBase registro)
 {
     this._IdentificadorTipoRegistro = registro.REG;
     this._Campos = (from p in registro.GetType().GetProperties()
                     select new
     {
         campos = new CampoRegistro()
         {
             Nome = p.Name, TipoCampo = (TipoCampoAttribute)(p.GetCustomAttributes(typeof(TipoCampoAttribute), true).FirstOrDefault())
         },
         p.Name,
         TipoCampo = (TipoCampoAttribute)(p.GetCustomAttributes(typeof(TipoCampoAttribute), true).FirstOrDefault())
     })
                    .Where(p => p.TipoCampo != null)
                    .OrderBy(p => p.TipoCampo.Ordem)
                    .Select(p => new CampoRegistro()
     {
         Nome = p.Name, TipoCampo = p.TipoCampo
     })
                    .ToList();
 }
 public void PersistirRegistro(RegistroBase registro)
 {
     DadosArquivoContabilRepository.PersistirRegistro(registro);
 }
 public void PersistirRegistro(RegistroBase registro)
 {
     DadosArquivoPisCofinsRepository.PersistirRegistro(registro);
 }