Exemplo n.º 1
0
        /// <summary>
        /// Adds a new user to the vending machine system
        /// </summary>
        /// <param name="user">Model that contains all the user information</param>
        public void RegisterUser(User user)
        {
            UserItem userItem = null;

            try
            {
                userItem = _db.GetUserItem(user.UserName);
            }
            catch (Exception)
            {
            }

            if (userItem != null)
            {
                throw new Exception("The username is already taken.");
            }

            if (user.Password != user.ConfirmPassword)
            {
                throw new Exception("The password and confirm password do not match.");
            }

            PasswordManager passHelper = new PasswordManager(user.Password);
            UserItem        newUser    = new UserItem()
            {
                UserName = user.UserName,
                Salt     = passHelper.Salt,
                Hash     = passHelper.Hash,
            };

            _db.AddUserItem(newUser);
            LoginUser(newUser.UserName, user.Password);
        }