public bool ValidateInputs(string username, string password, string password2, int staffId)
        {
            var ad                 = new AccountsData();
            var sd                 = new StaffData();
            var av                 = new AccountValidation();
            var message            = new UserMessage();
            var passwordValidation = av.ValidatePassword(password, password2);

            //username validation class methods
            bool uniqueUsername = ad.CheckForExistingUsername(username);
            bool validUsername  = av.ValidateUsername(username);
            //password validation class methods
            bool passwordsEqual = passwordValidation.Item1;
            bool validPassword  = passwordValidation.Item2;
            //staff id validation class methods
            bool validStaffId      = sd.CheckForValidStaffId(staffId);
            bool staffIdHasAccount = sd.CheckIfStaffIdHasAccount(staffId);

            //messages to show user if any of the validations fail
            //username validation messages
            if (!validUsername)
            {
                message.Show("This is not a valid username, please ensure its at least 3 characters and only letters and numbers");
                return(false);
            }
            if (!uniqueUsername)
            {
                message.Show("This username already exists, please choose a different one.");
                return(false);
            }
            //password validation messages
            if (!passwordsEqual)
            {
                message.Show("Your passwords do not match, please ensure you enter the same password both times.");
                return(false);
            }
            if (!validPassword)
            {
                message.Show("This is not a valid password, please ensure it is at least 6 characters long.");
                return(false);
            }
            //staff id validation messages
            if (!validStaffId)
            {
                message.Show("This staff Id is not valid, please ensure it was entered correctly.");
                return(false);
            }
            //staff id already has an account
            if (!staffIdHasAccount)
            {
                message.Show("This staff Id already has an account associated with it, please talk to an administrator.");
                return(false);
            }

            return(true);
        }
 public void ValidateStaffId_InvalidDoesNotExist_ReturnsFalse()
 {
     var sd = new StaffData();
     bool validStaffId = sd.CheckForValidStaffId(100000);
     Assert.IsFalse(validStaffId);
 }
 public void ValidateStaffId_ValidExists_ReturnsTrue()
 {
     var sd = new StaffData();
     bool validStaffId = sd.CheckForValidStaffId(1);
     Assert.IsTrue(validStaffId);
 }