public async Task<bool> RegisterAsync(string name, string userName, string password, string confirmPassword)
        {
            var success = false;

            if (await userDataService.UserNameExistsAsync(userName))
                throw new Exception("User exists.");

            IPasswordHasher hasher = new PasswordHasher();
            var passwordhash = hasher.HashPassword(password);

            if (password == confirmPassword)
            {
                var user = new User()
                {
                    Name = name,
                    UserName = userName,
                    PasswordHash = passwordhash,
                };
                var createdUser = await userDataService.CreateAsync(user);
                success = createdUser != null;
            }

            return success;
        }