private static Int32 calcularDVH(int id) { // Calcula el valor numerico de la suma de todos los caracteres de los campos. try { Int32 nVerificacion = 0; BOUsuarios bo = new BOUsuarios(); DataSet ds = bo.GetByN("Id", id); if (ds.Tables[0].Rows.Count != 0) { string sCadena = ""; int nCantColumnas = ds.Tables[0].Columns.Count - 2; for (int i = 0; i <= nCantColumnas; i++) { if (typeof(DateTime) == ds.Tables[0].Rows[0][i].GetType()) { sCadena = String.Concat(sCadena, Convert.ToDateTime(ds.Tables[0].Rows[0][i]).Ticks); } else { sCadena = String.Concat(sCadena, Convert.ToString(ds.Tables[0].Rows[0][i])); } } for (int i2 = 0; i2 <= sCadena.Length - 1; i2++) { char sPos = Convert.ToChar(sCadena.Substring(i2, 1)); nVerificacion = nVerificacion + Convert.ToInt32(sPos); } } return nVerificacion; } catch (Exception ex) { throw ; } }
public static DataSet login(String usuario, String password) { try { BOUsuarios bo = new BOUsuarios(); return bo.GetByN("Login", BRSeguridad.encriptar(usuario.ToUpper()), BRSeguridad.encriptar(password)); // retorna DataSet } catch (Exception ex) { throw; } }
public static Boolean validarIntegridadHorizontal(BeanUsuario usuario) { try { BOUsuarios bo = new BOUsuarios(); DataSet ds = bo.GetByN("Consistencia", ""); //Mensaje de Inconsistencia String identificador = ""; if (ds.Tables[0].Rows.Count == 0) return true; // la tabla de usuarios está vacía. Int32 nVerificacion = 0; Int32 nSuma = 0; string sCadena = ""; int j, y; j = 0; foreach (DataRow dr in ds.Tables[0].Rows) { nVerificacion = 0; sCadena = ""; for (int i = 0; i <= ds.Tables[0].Columns.Count - 2; i++) { // Armo un string largo con todos los campos de la tabla. if (i == 0) { identificador = String.Concat(sCadena, Convert.ToString(dr[i])); } if (typeof(DateTime) == dr[i].GetType()) { sCadena = String.Concat(sCadena, Convert.ToDateTime(dr[i]).Ticks); } else { sCadena = String.Concat(sCadena, Convert.ToString(dr[i])); } } for (int i2 = 0; i2 <= sCadena.Length - 1; i2++) { // Obtengo el valor en int de cada caracter del string largo char sPos = Convert.ToChar(sCadena.Substring(i2, 1)); nVerificacion = nVerificacion + Convert.ToInt32(sPos); } y = Convert.ToInt32(ds.Tables[0].Rows[j]["Verificacion"]); if (nVerificacion != y) { //La suma de verificación Horizontal no corresponde. No sigo. BRBitacora.registrarEvento( "Consist. Horizontal incorrecta en Tabla: TransArte_Usuarios id = " + ds.Tables[0].Rows[j]["id"], BeanException.Critico); usuario.addIntegridad(new BeanIntegridad(identificador, "TransArte_Usuarios")); } nSuma = nSuma + nVerificacion; j = j + 1; } // Fin Recorro todas las filas de la tabla Int32 nIntVertical = BRDVVertical.consistenciaVertical("TransArte_Usuarios"); if (!nIntVertical.Equals(nSuma)) { BRBitacora.registrarEvento("Consist. Vertical incorrecta en Tabla: TransArte_Usuarios", BeanException.Critico); usuario.addIntegridad(new BeanIntegridad("", "TransArte_Usuarios")); return false; } else return true; } catch (Exception ex) { throw ; } }
public static Boolean corregirIntegridad() { try { BOUsuarios bo = new BOUsuarios(); DataSet ds = bo.GetByN("Consistencia", ""); int y, j; if (ds.Tables[0].Rows.Count == 0) return true; // la tabla de usuarios está vacía. Int32 nVerificacion = 0; Int32 nSuma = 0; string sCadena = ""; j = 0; foreach (DataRow dr in ds.Tables[0].Rows) { nVerificacion = 0; sCadena = ""; for (int i = 0; i <= ds.Tables[0].Columns.Count - 2; i++) { // Armo un string largo con todos los campos de la tabla. if (typeof(DateTime) == dr[i].GetType()) { sCadena = String.Concat(sCadena, Convert.ToDateTime(dr[i]).Ticks); }else { sCadena = String.Concat(sCadena, Convert.ToString(dr[i])); } } for (int i2 = 0; i2 <= sCadena.Length - 1; i2++) { // Obtengo el valor en int de cada caracter del string largo char sPos = Convert.ToChar(sCadena.Substring(i2, 1)); nVerificacion = nVerificacion + Convert.ToInt32(sPos); } bo.UpdateBy("Verificacion", dr[0], nVerificacion); y = Convert.ToInt32(ds.Tables[0].Rows[j]["Verificacion"]); nSuma = nSuma + nVerificacion; j = j + 1; } // Fin Recorro todas las filas de la tabla Int32 nIntVertical = BRDVVertical.consistenciaVertical("TransArte_Usuarios"); if (!nIntVertical.Equals(nSuma)) { BRDVVertical.actualizarUsuarios("TransArte_Usuarios"); BRBitacora.registrarEvento("Rev. Consist. Vertical Tabla TransArte_Usuarios:OK!", BeanException.Critico); } BRBitacora.registrarEvento("Rev. Consist. Horizontal Tabla TransArte_Usuarios:OK!", BeanException.Critico); return true; } catch (Exception ex) { throw ; } }
public static string desbloquearPorUsuario(string usuario, string password) { try { BOUsuarios bo = new BOUsuarios(); bo.UpdateBy("DesbloquearPorNombre", BRSeguridad.encriptar(usuario.ToUpper()), BRSeguridad.encriptar(password)); //Obtengo el id del ultimo agregado para verificación de integridad DataSet ds = bo.GetByN("usuario", BRSeguridad.encriptar(usuario.ToUpper())); string email = ""; int id = 0; if (ds.Tables[0].Rows.Count != 0) { id = (int)ds.Tables[0].Rows[0]["id"]; email = Convert.ToString(ds.Tables[0].Rows[0]["email"]); Int32 nVerificacion = calcularDVH(id); actualizarDVH(id, nVerificacion); BRDVVertical.actualizarBitacora("TransArte_Usuarios"); } BRBitacora.registrarEvento( "Usuario DesBloqueado: " + usuario , BeanException.Moderado); return email; } catch (Exception ex) { throw; } }
public static DataSet buscarUsuarios(string usuario, string apellido, string razonSocial) { try { BOUsuarios bo = new BOUsuarios(); return bo.GetByN("UsuApeRaz", BRSeguridad.encriptar(usuario.ToUpper()), BRSeguridad.encriptar(apellido.ToUpper()), BRSeguridad.encriptar(razonSocial.ToUpper())); } catch (Exception ex) { throw ; } }
public static DataSet buscarPorUsuario(string usuario) { try { BOUsuarios bo = new BOUsuarios(); return bo.GetByN("Usuario", BRSeguridad.encriptar(usuario.ToUpper())); } catch (Exception ex) { throw ; } }
public static DataSet buscarPorIdGrupo(int idGrupo) { try { BOUsuarios bo = new BOUsuarios(); return bo.GetByN("IdGrupo", idGrupo); // retorna DataSet } catch (Exception ex) { throw; } }
public static DataSet buscarPorId(int id) { try { BOUsuarios bo = new BOUsuarios(); return bo.GetByN("id", id); } catch (Exception ex) { throw ; } }
public static void bloquearPorUsuario(string usuario, string motivo) { try { BOUsuarios bo = new BOUsuarios(); bo.UpdateBy("nombreusuario", BRSeguridad.encriptar(usuario.ToUpper()), BRSeguridad.encriptar(motivo.ToUpper())); //Obtengo el id del ultimo agregado para verificación de integridad DataSet ds = bo.GetByN("usuario", BRSeguridad.encriptar(usuario.ToUpper())); int id = 0; if (ds.Tables[0].Rows.Count != 0) { id = (int)ds.Tables[0].Rows[0]["id"]; Int32 nVerificacion = calcularDVH(id); actualizarDVH(id, nVerificacion); BRDVVertical.actualizarBitacora("TransArte_Usuarios"); } BRBitacora.registrarEvento("Usuario Bloqueado: id" + id + " usuario: " + usuario, BeanException.Moderado); } catch (Exception ex) { throw ; } }