public BE.Usuario Login(string usuario) { /* CIFRO EL USUARIO Y CONTRASEÑA */ BE.Usuario user = _usuarioDal.GetUsuarioUser(usuario); if (user.usuario == null) { //Usuario o Contraseña incorrectos throw new Exception("Usuario o contraseña incorrectos"); } else if (user.estado == 0) { //Usuario Inactivo throw new Exception("El usuario se encuentra inactivo"); } return(user); }
public static int VerificarDV() { string nombre_usuario = Cifrado.Encriptar("SYSTEM", true); DAL.Usuario _usuarioDal = new DAL.Usuario(); Bitacora _bitacoraBll = new Bitacora(); try { BE.Usuario usr = _usuarioDal.GetUsuarioUser(nombre_usuario); int error = 0; DAL.DigitoVerificador _DVDAL = new DAL.DigitoVerificador(); List <BE.DigitoVerificador> listaDvv = _DVDAL.TraerDVV(); foreach (BE.DigitoVerificador digito in listaDvv) { DataTable tabla = _DVDAL.TraerTabla(digito.nombreTabla); /* CALCULO Y COMPARO DVV LA TABLA VERIFICADA CON EL ALMACENADO*/ if (tabla.Rows.Count != 0) { long resultado = 0; foreach (DataRow r in tabla.Rows) { resultado += long.Parse(r["dvh"].ToString()); } if (resultado != digito.valorDvv) { // registro en bitacora string descripcion_bitacora = string.Format(@"Error de integridad: Digito Verificador Vertical de la tabla {0} no coincide. Calculado = {1} , Almacenado = {2}", digito.nombreTabla, resultado, digito.valorDvv); _bitacoraBll.RegistrarBitacora(usr, descripcion_bitacora, 1, 0); error = 1; } /* CALCULO Y COMPARO DVH DE CADA REGISTRO DE LA TABLA VERIFICADA */ foreach (DataRow fila in tabla.Rows) { long dvh = 0; foreach (DataColumn col in tabla.Columns) { long sumador = 0; if (col.ColumnName != "id" && col.ColumnName != "legajo" && col.ColumnName != "dvh") { var cadena_ascii = ASCIIEncoding.ASCII.GetBytes(fila[col].ToString()); for (int i = 0; i < cadena_ascii.Length; i++) { sumador += long.Parse(cadena_ascii[i].ToString()) * (i + 1); } dvh += sumador; } } if (dvh != long.Parse(fila["dvh"].ToString())) { // registro en bitacora string descripcion_bitacora = string.Format(@"Error de integridad: Digito Verificador Horizontal de la tabla {0} no coincide. Calculado = {1} , Almacenado = {2}", digito.nombreTabla, dvh, fila["dvh"].ToString()); _bitacoraBll.RegistrarBitacora(usr, descripcion_bitacora, 1, 0); error = 1; } } } else { long resultado = 0; if (resultado != digito.valorDvv) { // registro en bitacora string descripcion_bitacora = string.Format(@"Error de integridad: Digito Verificador Vertical de la tabla {0} no coincide. Calculado = {1} , Almacenado = {2}", digito.nombreTabla, resultado, digito.valorDvv); _bitacoraBll.RegistrarBitacora(usr, descripcion_bitacora, 1, 0); error = 1; } } } return(error); } catch (Exception e) { throw new Exception(e.Message); } }