Пример #1
0
        private Boolean IsRegistered()
        {
            user.username = txtUsername.Text;
            user.SetPassword(txtPassword.Text);
            user.isAdmin = false;

            //Verifica si existe el username ingresado en el login
            if (!repo.ExistsUserWithSideEffect(user))
            {
                MessageBox.Show("Usuario Inexistente.", "Error");
                return(false);
            }

            //Verifica si el username ingresado tiene roles asignados
            if (repo.GetRolesUsuario(user).Count == 0)
            {
                MessageBox.Show("No tiene roles asignados para ingresar al sistema.\nContáctese con el ADMINISTRADOR.", "Error");
                return(false);
            }

            //Verifica si el user está habilitado para ingresar al sistema
            if (!repo.EnabledUser(user))
            {
                MessageBox.Show("Usuario Inhabilitado.", "Error");
                return(false);
            }

            //Verifica el password ingresado, y agrega intentos fallidos ante un ingreso incorrecto por parte de un user no admin
            if (repo.ValidPassword(user))
            {
                if (!user.isAdmin)
                {
                    repo.CleanFailedAttemps(user);
                }
                return(true);
            }
            else
            {
                if (!user.isAdmin)
                {
                    repo.AddFailedAttempt(user);
                }
                MessageBox.Show("Username y/o Password Incorrecto.", "Error");
                return(false);
            }
        }