private void cmdGuardar_Click(object sender, EventArgs e) { if (validarCampos()) { try { UsuarioDTO dto = new UsuarioDTO(); dto.Usuario = txtUsuario.Text; dto.Pwd = txtPwd.Text; dto.IsAdmin = chkAdmin.Checked; int row = UsuarioCore.getInstance().crearUsuario(dto); MessageBox.Show("(" + row + ") Usuario agregado", "Usuario creado", MessageBoxButtons.OK, MessageBoxIcon.Information); limpiarCampos(); dto.Pwd = ""; usuarioDTOBindingSource.Add(dto); } catch (UsuarioException ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("Verifique la información que ha ingresado. Los campos obligatorios están marcados en rojos.\n\nLa contraseña debe coincidir con el campo de confirmación.", "Faltan datos", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
/// <summary> /// <para>Actualiza el password y el tipo de usuario (Admin o no Admin).</para> /// <para>UsuarioException: Si el usuario no existe.</para> /// <para>UsuarioException: Si falla la operación.</para> /// </summary> /// <param name="dto">Objeto dto con los datos del usuario a actualizar.</param> /// <returns>1 Si se guardó el usuario; Cero si no.</returns> public int actualizarUsuario(UsuarioDTO dto) { try { UsuarioVO vo = dao.consultarUsuario(dto.Usuario); if (vo == null) { throw new UsuarioException("Usuario no existe"); } else { vo.IdUsuario = dto.Usuario; vo.Pwd = EstacionDB.Security.Security.createHash(dto.Pwd); vo.IsAdmin = dto.IsAdmin; return dao.guardarUsuario(vo); } } catch (EstacionDBException ex) { throw new UsuarioException("No se pudo actualizar el usuario en la base de datos", ex); } }
/// <summary> /// <para>Valida el usuario a partir del nombre de usuario y la contraseña.</para> /// <para>UsuarioException: Si el usuario no existe.</para> /// <para>UsuarioException: Si la operación falla.</para> /// </summary> /// <param name="usuario">Nombre o ID del usuario.</param> /// <param name="pwd">Texto sin encriptar del password.</param> /// <returns>Objeto dto con la información del usuario.</returns> public UsuarioDTO validarUsuario(string usuario, string pwd) { UsuarioVO usuarioValidado = null; UsuarioDTO dto = null; try { usuarioValidado = dao.consultarUsuario(usuario, EstacionDB.Security.Security.createHash(pwd)); if (usuarioValidado != null) { dto = new UsuarioDTO(); dto.Usuario = usuarioValidado.IdUsuario; dto.IsAdmin = usuarioValidado.IsAdmin; //El password no se retorna en esta parte. } else { throw new UsuarioException("Usuario no válido o no existe."); } } catch (EstacionDBException ex) { throw new UsuarioException("No se puede validar la información de usuario en la base de datos", ex); } return dto; }