private void ingresar() { if (string.IsNullOrEmpty(txtUsername.Text)) { mostrarToast("Advertencia", "No deje vácio el nombre de usuario", "Warning"); return; } if (string.IsNullOrEmpty(txtPassword.Text)) { mostrarToast("Advertencia", "No deje vácio el campo de contraseña", "Warning"); return; } bool existeNombre = LogicaUsuarios.autenticaNombreUsuario(txtUsername.Text); bool existeUsuario = LogicaUsuarios.autenticar(txtUsername.Text, LogicaUsuarios.GenerateMD5(txtPassword.Text)); TBLUSUARIOS usuarioExistente = new TBLUSUARIOS(); if (existeNombre) { usuarioExistente = LogicaUsuarios.buscarXUsuario(txtUsername.Text); if (!string.IsNullOrEmpty(usuarioExistente.FOTO_PATH_USUARIO)) { string filePath = usuarioExistente.FOTO_PATH_USUARIO; cambiarImagen(filePath); } else { cambiarImagen(pathDefaultAvatar); } comprobarEstadoUsuario(usuarioExistente); if (existeUsuario) { TBLUSUARIOS usuario = new TBLUSUARIOS(); try { usuario = LogicaUsuarios.autenticarXLogin(txtUsername.Text, LogicaUsuarios.GenerateMD5(txtPassword.Text)); } catch (Exception ex) { mostrarToast("Error", "Error: " + ex.Message, "Error"); throw; } int rolUsuario = usuario.TBLROLE_ID; char estadoUsuario = usuario.ESTADO_USUARIO; Session["nomUsuario"] = usuario.NOMBRE_USUARIO.ToString(); Session["estadoUsuario"] = usuario.ESTADO_USUARIO.ToString(); Session["passUsuario"] = usuario.PASS_USUARIO.ToString(); Session["usuUsuario"] = usuario.USU_USUARIO.ToString(); if (estadoUsuario == 'A') { switch (rolUsuario) { case 1: //mostrarToast("Administrador", "Este es administrador", "Success", 1000); Session["tipoUsuario"] = "Administrador"; Response.Redirect("~/HomePage.aspx"); break; case 2: //mostrarToast("Usuario", "Este es usuario", "Success", 1000); Session["tipoUsuario"] = "Usuario"; Response.Redirect("~/HomePage.aspx"); break; default: mostrarToast("Error", "No tiene - error", "Error", 1000); break; } } } else { intentos = (contador + (Convert.ToInt32(Session["count"]))).ToString(); Session["countOld"] = intentos.ToString(); if (Convert.ToInt32(intentos) >= 3) { try { LogicaUsuarios.bloquearUsu(usuarioExistente); mostrarToast("Máximo de intentos", "Su usuario ha sido bloqueado por máximo de intentos permitidos (3). Consulte con el administrador.", "Error", 4000); Session.Clear(); btnLogin.Visible = false; } catch (Exception ex) { mostrarToast("Error", "Error al bloquear usuario: " + ex.Message, "Error", 6000); } } else { mostrarToast("Usuario o contraseña incorrectos", "Intentos restantes: " + intentos, "Warning", 2000); } } } else { mostrarToast("El usuario no existe", "Usuario Inexistente", "Warning", 1000); cambiarImagen(pathDefaultAvatar); } }