/// <summary> /// Adds a new user to the encryption messenger system /// </summary> /// <param name="userModel">Model that contains all the user information</param> public void RegisterUser(User userModel) { UserItem userItem = null; try { userItem = _db.GetUserItem(userModel.Username); } catch (Exception) { } if (userItem != null) { throw new UserExistsException("The username is already taken."); } if (userModel.Password != userModel.ConfirmPassword) { throw new PasswordMatchException("The password and confirm password do not match."); } PasswordManager passHelper = new PasswordManager(userModel.Password); UserItem newUser = new UserItem() { Username = userModel.Username, Salt = passHelper.Salt, Hash = passHelper.Hash, }; _db.AddUserItem(newUser); LoginUser(newUser.Username, userModel.Password); }