private void btnRecuperar_Click(object sender, EventArgs e) { List <Usuario> usuario; usuario = listaUsuarios.Where(x => x.Nombre.ToUpper().Equals(textNomUsuario.Text.ToUpper()) && x.Dni.Equals(textDniUsuario.Text)).ToList(); var result = (from usuarios in listaUsuarios where usuarios.Nombre.ToUpper().Equals(textNomUsuario.Text.ToUpper()) && usuarios.Dni.Equals(textDniUsuario.Text) select usuarios); if (result != null) { foreach (Usuario item in result) { FormularioCambioContrasenya formularioCambio = new FormularioCambioContrasenya(item); formularioCambio.ShowDialog(); this.Close(); } } else { lbError.ForeColor = System.Drawing.Color.Red; lbError.Text = "No existe ese usuario."; } }
private void Login(object sender, EventArgs e) { string nombre = txtNombre.Text; string password = txtPass.Text; Usuario usuario; if (numerointentosLogin > 0) { // Primero validamos que se han rellenado ambos campos, sino mostraremos un error if (!"".Equals(nombre) && !"".Equals(password)) { // Si aún quedan intentos de login por realizar, intentamos acceder a la aplicación con los datos introducidos // por el usuario bool usuarioLogueado = _neg.Validar2(txtNombre.Text, txtPass.Text, out usuario); // Si se puede loguear al usuario, se comprueba si es el primer login (para que establezca una nueva contraseña) // o se redirige al usuario al formulario principal if (usuarioLogueado) { if (txtPass.Text.Equals(usuario.Email)) { DialogResult result = MessageBox.Show("¿Desea entrar a de la aplicación?,debe crear una contraseña valida", "Confirmación", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { FormularioCambioContrasenya formularioCambioContrasenya = new FormularioCambioContrasenya(usuario); formularioCambioContrasenya.ShowDialog(); } } else { FormularioPrincipal formularioPrincipal = new FormularioPrincipal(nombre); formularioPrincipal.Show(); this.Hide(); } } // Si no se puede loguear al usuario mostramos el error y quitamos un intento de los disponibles else { numerointentosLogin--; labelinfoLogin.ForeColor = System.Drawing.Color.Red; labelinfoLogin.Text = "Usuario o contraseña inválido. Inténtalo de nuevo.\nTe quedan " + numerointentosLogin + " intentos"; } } else if ("".Equals(password) && !"".Equals(nombre)) { bool usuarioLogueado = _neg.Validar2(txtNombre.Text, txtPass.Text, out usuario); DialogResult result = MessageBox.Show("¿Desea entrar a de la aplicación?,debe crear una contraseña valida", "Confirmación", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (result == DialogResult.Yes) { FormularioCambioContrasenya formularioCambioContrasenya = new FormularioCambioContrasenya(usuario); formularioCambioContrasenya.ShowDialog(); } else { Application.Exit(); } } else { labelinfoLogin.ForeColor = System.Drawing.Color.Red; labelinfoLogin.Text = "Introduce el usuario y la contraseña para acceder a la aplicación."; numerointentosLogin--; } } // Cuando se exceden los intentos disponibles, sólo se mostrará un botón para cerrar la aplicación y el mensaje correspondiente else if (numerointentosLogin == 0) { labelinfoLogin.ForeColor = System.Drawing.Color.Red; labelinfoLogin.Text = "Se han excedido el número de intentos.\nLa aplicacion se cerrará."; Application.Exit(); btnLogin.Text = "Cerrar"; btnSalir.Visible = false; } }