Beispiel #1
0
        private void BtnIngresar_Click(object sender, System.EventArgs e)
        {
            // 1 - Verificar si esta cargado el usuario
            // 2 - verificar si esta cargado el password

            if (!VerificarDatosObligatorios())
            {
                return;
            }

            // 3 - verificar si el usuario y la Pass son Correctos (Autenticacion)
            if (_accesoSistema.VerificarSiExisteUsuario(txtUsuario.Text, txtPassoword.Text))
            {
                // 5 - Verificar si Esta Bloqueado
                if (!_accesoSistema.VerificarSiEstaBloqueadoUsuario(txtUsuario.Text))
                {
                    // 7 - Cuando este correcto ingresar al sistema.

                    PuedeAccederSistema = true;

                    NombreUsuarioLogueado = txtUsuario.Text;

                    if (txtUsuario.Text != "Admin")
                    {
                        var idUsuario = _usuarioServicio.ObtenerPorNombreUsuario(NombreUsuarioLogueado);

                        UsuarioLogueadoId = idUsuario.Id;
                    }

                    this.Close(); // Cierro el Formulario de Login
                }
                else
                {
                    // 6 - Si esta bloqueado mostrar mensaje
                    MessageBox.Show(@"El Usuario esta BLOQUEADO.");

                    txtPassoword.Clear();

                    txtUsuario.Clear();

                    txtUsuario.Focus();

                    _cantidadAccesosFallidos = 0;

                    PuedeAccederSistema = false;

                    return;
                }
            }
            else
            {
                PuedeAccederSistema = false;

                // 4 - Si no existe mostrar Mensaje
                MessageBox.Show(@"El usuario o la contraseña son incorrectos.");

                txtPassoword.Clear();

                txtPassoword.Focus();

                // incrementar los Intentos Fallidos
                _cantidadAccesosFallidos++;

                if (_cantidadAccesosFallidos >= 3)
                {
                    try
                    {
                        // Bloquear el Usuario
                        _usuarioServicio.CambiarEstado(txtUsuario.Text, true);
                        // Notificar al Usuario que esta Bloqueado
                        MessageBox.Show(@"El Usuario FUE BLOQUEADO. Comunicarse con el Adminsitrador.");
                        Application.Exit();
                    }
                    catch (Exception exception)
                    {
                        MessageBox.Show(exception.Message);
                        txtPassoword.Clear();
                        txtPassoword.Focus();
                    }
                }
            }
        }