Ejemplo n.º 1
0
        internal static void DefinirCamposDeAuditoriaDtm <TEntity>(ModelBuilder modelBuilder) where TEntity : AuditoriaDtm
        {
            var nombreDeTabla = GeneradorMd.NombreDeTabla(typeof(TEntity));

            modelBuilder.Entity <TEntity>().Property(p => p.IdElemento).HasColumnName("ID_ELEMENTO");
            modelBuilder.Entity <TEntity>().Property(p => p.IdElemento).HasColumnType("INT");
            modelBuilder.Entity <TEntity>().Property(p => p.IdElemento).IsRequired(true);
            modelBuilder.Entity <TEntity>().HasIndex(p => p.IdElemento).HasDatabaseName($"I_{nombreDeTabla}_ID_ELEMENTO");

            modelBuilder.Entity <TEntity>().Property(p => p.IdUsuario).HasColumnName("ID_USUARIO");
            modelBuilder.Entity <TEntity>().Property(p => p.IdUsuario).HasColumnType("INT");
            modelBuilder.Entity <TEntity>().Property(p => p.IdUsuario).IsRequired(true);
            modelBuilder.Entity <TEntity>().HasIndex(p => p.IdUsuario).HasDatabaseName($"I_{nombreDeTabla}_ID_USUARIO");

            modelBuilder.Entity <TEntity>().Property(p => p.Operacion).HasColumnName("OPERACION");
            modelBuilder.Entity <TEntity>().Property(p => p.Operacion).HasColumnType("CHAR(1)");
            modelBuilder.Entity <TEntity>().Property(p => p.Operacion).IsRequired(true);

            modelBuilder.Entity <TEntity>().Property(p => p.registroJson).HasColumnName("REGISTRO");
            modelBuilder.Entity <TEntity>().Property(p => p.registroJson).HasColumnType("VARCHAR(MAX)");
            modelBuilder.Entity <TEntity>().Property(p => p.registroJson).IsRequired(true);

            modelBuilder.Entity <TEntity>().Property(p => p.AuditadoEl).HasColumnName("AUDITADO_EL");
            modelBuilder.Entity <TEntity>().Property(p => p.AuditadoEl).HasColumnType("DATETIME2(7)");
            modelBuilder.Entity <TEntity>().Property(p => p.AuditadoEl).IsRequired(true);
        }
Ejemplo n.º 2
0
 public AuditoriaDeElementos(ContextoSe contexto, enumNegocio negocio)
 {
     Dtm = negocio.TipoDtm();
     Dto = negocio.TipoDto();
     tablaDeAuditoria   = $"{GeneradorMd.NombreDeTabla(Dtm)}_AUDITORIA";
     esquemaDeAuditoria = GeneradorMd.EsquemaDeTabla(Dtm);
     Contexto           = contexto;
 }
Ejemplo n.º 3
0
        public static void RegistrarAuditoria(ContextoSe contexto, enumNegocio negocio, enumTipoOperacion operacion, IElementoDtm auditar)
        {
            auditar.UsuarioModificador = auditar.UsuarioCreador = null;
            var valor = serializarPropiedadesPOCO(auditar);

            var sentencia = $@"Insert into {GeneradorMd.EsquemaDeTabla(negocio.TipoDtm())}.{GeneradorMd.NombreDeTabla(negocio.TipoDtm())}_AUDITORIA (id_elemento, id_usuario, operacion, registro, auditado_el) 
                               values ({((ElementoDtm)auditar).Id}
                                      ,{contexto.DatosDeConexion.IdUsuario}
                                      ,'{operacion.ToBd()}'
                                      ,'{valor}'
                                      ,'{DateTime.Now}')";

            contexto.Database.ExecuteSqlRaw(sentencia);
        }