예제 #1
0
        public async Task <RegisterResult> RegisterUserAsync(RegisterUser registerUser)
        {
            var user = await _userDbManager.GetUserByEmailAsync(registerUser.Email);

            if (user != null)
            {
                return(new RegisterResult("Email already exists"));
            }

            user = await _userDbManager.GetUserByUsernameAsync(registerUser.Username);

            if (user != null)
            {
                return(new RegisterResult("Username already exists"));
            }

            var activationCode = Guid.NewGuid();
            var sucess         = await _userDbManager.RegisterAsync(registerUser.Username, registerUser.Email, registerUser.Password, activationCode);

            if (!sucess)
            {
                return(new RegisterResult("Error during registration"));
            }

            //Verification Email
            VerificationEmail(registerUser.Email, activationCode.ToString());
            return(new RegisterResult());
        }