/// <summary> /// Adds a new user /// </summary> /// <param name="userModel">Model that contains all the user information</param> public void RegisterUser(UserItem 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() { FirstName = userModel.FirstName, LastName = userModel.LastName, Email = userModel.Email, Username = userModel.Username, Salt = passHelper.Salt, Hash = passHelper.Hash, RoleId = (int)RoleManager.eRole.Customer }; _db.AddUserItem(newUser); LoginUser(newUser.Username, userModel.Password); }