public static void GetUserAccountByUserName(string userName)
        {
            //Assemble
            //This unit test assumes that there is at least one record in the dbo.UserAccount table
            //  with inputted userName.
            //Assumptions of this type are not good.
            //TODO: either check for records before running or find another way to ensure records exist.
            BusinessObjects _businessObjects = new BusinessObjects();

            //Act
            UserAccount userAccount = _businessObjects.GetUserAccountByUserName(userName);

            //Assert
            if (userAccount.UserName != userName)
            {
                throw new CustomException("GetUserAccountByUserName() failed to retrieve the correct UserAccess record.");
            }
        }
        // USER RELATED METHODS
        public static UserAccount AuthenticateUser(string userName, string password)
        {
            /// Accepts login input and sets the appropriate UserAccount object and permissions token
            BusinessObjects _businessObjects = new BusinessObjects();
            UserAccount userAccount = _businessObjects.GetUserAccountByUserName(userName);

            if(userAccount == null)
            {
                userAccount = new UserAccount("invalid", "invalid", true);
            }

            if(!userAccount.MatchPassword(password))
            {
                userAccount.ClearPermissionSet();
            }

            return userAccount;
        }
        public static void ChangePassword(string userName, string newPassword)
        {
            //Assemble
            //This unit test assumes that there is at least one record in the dbo.UserAccount table
            //  with inputted userName and password.
            //Assumptions of this type are not good.
            //TODO: either check for records before running or find another way to ensure records exist.
            BusinessObjects _businessObjects = new BusinessObjects();
            UserAccount userAccount = _businessObjects.GetUserAccountByUserName(userName);

            //Act
            userAccount.PasswordHash = newPassword;
            int _returnValue = ApplicationObjects.ChangePassword(userAccount);

            //Assert
            if (_returnValue == 1)
            {
                throw new CustomException("ChangePassword() failed to update the database with new password.");
            }
        }