public Usuario() { repository = new Repository.Usuario(); dv = new Service.DigitoVerificador(); familia = new Service.Familia(); patente = new Service.Patente(); bitacora = new Service.Bitacora(); controlCambios = new Service.ControlCambios(); }
public bool VerificarIntegridad() { try { Service.Bitacora bitacoraService = new Service.Bitacora(); bool resultado = true; DataTable dvvs = repository.ListarDVV(); foreach (DataRow row in dvvs.Rows) { DataTable tabla = repository.ConsultarTabla(row["Nombre_Tabla"].ToString()); if (!this.CompararDVV(row["Nombre_Tabla"].ToString(), (row["DVV"].ToString()))) { bitacoraService.Registrar(new Entity.Bitacora { IdCriticidad = (int)Criticidad.Alta, Descripcion = "La tabla " + row["Nombre_Tabla"].ToString() + " no se encuentra en un estado valido.", Fecha = DateTime.Now }); resultado = false; } //Saco el solo lectura y permito null (PK) if (tabla.Columns.Contains("Id")) { tabla.Columns["Id"].ReadOnly = false; tabla.Columns["Id"].AllowDBNull = true; } foreach (DataRow r in tabla.Rows) { string dvh = r["DVH"].ToString(); string id = r["Id"].ToString(); // Dejo vacio el dvh y el id para no tenerlo en cuenta en la generacion y comparacion. r["DVH"] = string.Empty; r["Id"] = DBNull.Value; if (!this.CompararDVH(this.ConcatenarRegistro(r), dvh)) { bitacoraService.Registrar(new Entity.Bitacora { IdCriticidad = (int)Criticidad.Alta, Descripcion = "El registro con id " + id + " de la tabla " + row["Nombre_Tabla"].ToString() + " no se encuentra en un estado valido.", Fecha = DateTime.Now, }); resultado = false; } } } return(resultado); } catch (Exception ex) { throw ex; } }