Beispiel #1
0
        public async Task <bool> CreateUserAsync(SignUpUserForm form)
        {
            // Username exists
            AppUser userUsername = await _userManager.FindByNameAsync(form.UserName);

            if (userUsername != null && userUsername.UserName == form.UserName.Trim().ToLower())
            {
                throw new RestException(HttpStatusCode.Conflict, new { message = "Username already in use." });
            }

            // Email exists
            AppUser userEmail = await _userManager.FindByEmailAsync(form.Email);

            if (userEmail != null && userEmail.Email.ToLower() == form.Email.Trim().ToLower())
            {
                throw new RestException(HttpStatusCode.Conflict, new { message = "Email already in use." });
            }

            // Create a new user
            Guid userId = Guid.NewGuid();
            var  result = await _userManager.CreateAsync(
                new AppUser
            {
                Id       = userId.ToString(),
                Email    = form.Email,
                UserName = form.UserName.Trim().ToLower(),
                Profile  = new Profile {
                    Avatar = form.Avatar, AppUserId = userId
                }
            },
                form.Password);

            return(result.Succeeded);
        }
Beispiel #2
0
 public async Task <IActionResult> CreateUser([FromBody] SignUpUserForm form)
 {
     return(Ok(await _identityService.CreateUserAsync(form)));
 }