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); }
public async Task <IActionResult> CreateUser([FromBody] SignUpUserForm form) { return(Ok(await _identityService.CreateUserAsync(form))); }