private void btnIngresar_Click(object sender, EventArgs e) { //Verifico que los campos no esten vacios if (String.IsNullOrEmpty(txtUsuario.Text) || String.IsNullOrEmpty(txtPass.Text)) { MessageBox.Show("Por favor complete los campos requeridos"); return; } string usuarioCifrado = BLL.Cifrado.Encriptar(txtUsuario.Text.ToUpper(), true); string passCifrado = BLL.Cifrado.Encriptar(txtPass.Text.ToUpper(), false); try { int error_verificado = BLL.DigitoVerificador.VerificarDV(); BE.Usuario usuario; usuario = _usuarioBLL.Login(usuarioCifrado); if (usuario.contrasena != passCifrado) { int bloqueado = _usuarioBLL.BloquearUsuario(usuario); switch (bloqueado) { case 0: break; case 1: MessageBox.Show("El usuario se encuentra bloqueado"); return; case 2: MessageBox.Show("Usuario o contraseña incorrectos"); return; } } if (usuario.contador == 3) { var esAdmin = _usuarioBLL.VerificarPermisos(usuario); if (esAdmin) { var opcion = MessageBox.Show("El usuario se encuentra bloqueado, desea desbloquearlo ?", "Desbloquear Usuario?", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning); if (opcion == DialogResult.OK) { //Desbloquear usuario admin _usuarioBLL.DesbloquearUsuarioAdmin(usuario); } else { return; } } } _usuarioBLL.DesbloquearUsuario(usuario); _permisoBll.FillUserComponents(usuario); var _esAdmin = _usuarioBLL.VerificarPermisos(usuario); if (error_verificado == 1) { if (_esAdmin) { string mensaje = ""; //muestra pantalla para reestablecer. var idioma = cmbIdioma.SelectedItem as BE.Idioma; if (idioma.Nombre == "Español") { mensaje = "Desea ver la bitacora del sistema?"; } else { mensaje = "Do you want to see the system log?"; } var opcion = MessageBox.Show(mensaje, "Error de integridad", MessageBoxButtons.YesNo, MessageBoxIcon.Error); if (opcion == DialogResult.Yes) { this.Hide(); ReestablecerSistema formRestablecer = new ReestablecerSistema(usuario); formRestablecer.Show(); formRestablecer.FormClosed += new FormClosedEventHandler(Login_FormClosed); return; } } else { MessageBox.Show("Ocurrio un error, por favor contacte con el administrador del sistema."); return; } } _bitacoraBll.RegistrarBitacora(usuario, $@"El usuario {txtUsuario.Text} ingreso en el sistema", 3); Services.SessionManager.Login(usuario, cmbIdioma.SelectedItem as BE.Idioma); MessageBox.Show("Ingreso Correcto"); this.Hide(); Logicar formLogicar = new Logicar(); var cerro = formLogicar.ShowDialog(); if (cerro == DialogResult.Cancel) { this.Show(); } } catch (Exception exp) { MessageBox.Show(exp.Message); } }