private void btnIngresar_Click(object sender, EventArgs e) { try { if (!string.IsNullOrEmpty(this.txtUsuario.Text) && !string.IsNullOrEmpty(this.txtPassword.Text)) { var _usuarioServicio = new ServicioUsuario(); var _logInServicio = new LogInServicio(); if (_logInServicio.VerificarIngresoAdministrador(this.txtUsuario.Text, this.txtPassword.Text)) { this.PuedeIngresarAlSistema = true; Identidad.NombreUsuario = this.txtUsuario.Text; Identidad.UsuarioId = (long?)null; this.Close(); } else { var _usuario = _usuarioServicio.ObtenerPorNombre(this.txtUsuario.Text); if (_usuario != null) { if (_usuario.EstaBloqueado) { Mensaje.Mostrar("El usuario esta Bloqueado", TipoMensaje.Aviso); this.txtUsuario.Clear(); this.txtPassword.Clear(); this.txtUsuario.Focus(); return; } else { if (_logInServicio.VerificarIngreso( this.txtUsuario.Text, this.txtPassword.Text)) { Identidad.UsuarioId = _usuario.Id; Identidad.NombreUsuario = _usuario.Nombre; Identidad.ApyNomAgente = $"{_usuario.Agente.Nombre} {_usuario.Agente.Apellido}"; Identidad.Perfiles = _usuario.Perfiles.Select(x => new PerfilDTO { Id = x.Id, Descripcion = x.Descripcion, }).ToList(); Identidad.SubSectores = _usuario.Agente.SubSectores.Select(x => new SubSectorDTO { Id = x.Id, Descripcion = x.Descripcion, Abreviatura = x.Abreviatura }).ToList(); this.PuedeIngresarAlSistema = true; this.Close(); } else { if (_cantidadErrores < 3) { _cantidadErrores++; Mensaje.Mostrar("El usuario o la contraseña son incorrectos", TipoMensaje.Aviso); this.txtPassword.Clear(); this.txtPassword.Focus(); } else { // Bloquear Usuario _usuarioServicio.BloquearUsuario(this.txtUsuario.Text); var mensajeUsuarioBloqueado = string.Format("Por seguridad el usuario {0} será BLOQUEADO.", this.txtUsuario.Text); Mensaje.Mostrar(mensajeUsuarioBloqueado, TipoMensaje.Aviso); Application.Exit(); } } } } else { var mensajeUsuarioIcorrecto = string.Format("El usuario {0} no Existe.", this.txtUsuario.Text); Mensaje.Mostrar(mensajeUsuarioIcorrecto, TipoMensaje.Error); this.txtUsuario.Clear(); this.txtPassword.Clear(); this.txtUsuario.Focus(); } } } else { Mensaje.Mostrar("Por favor ingrese un usuario y su contraseña", TipoMensaje.Aviso); this.txtPassword.Focus(); } } catch (Exception ex) { Mensaje.Mostrar("Ocurrió un error al Ingresar al sistema", TipoMensaje.Aviso); this.txtPassword.Clear(); this.txtPassword.Focus(); } }