Esempio n. 1
0
        private static string serializarPropiedadesPOCO(IElementoDtm elemento)
        {
            var propiedades = elemento.GetType().GetProperties();
            var serializado = "";

            foreach (PropertyInfo propiedad in propiedades)
            {
                var    tipo = propiedad.PropertyType.FullName.ToLower();
                string valor;
                if (tipo.Contains("int") || tipo.Contains("string") || tipo.Contains("date") || tipo.Contains("bool"))
                {
                    valor = $"{propiedad.GetValue(elemento)}";
                }
                else
                {
                    continue;
                }
                serializado = $"{serializado}{(serializado.IsNullOrEmpty() ? "" : Environment.NewLine)}{propiedad.Name}:{valor}";
            }
            return(serializado);
        }
Esempio n. 2
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);
        }