public async Task <IActionResult> Post([FromForm] RegisterModel model) { try { if (ModelState.IsValid) { var user = new NesopsUsers { UserName = model.Username }; var userRoles = new List <string>() { "ActiveUser", "Admin" }; var result = await _authorizationService.CreateUserAsync(user, model.Password, userRoles); if (result.Succeeded) { return(Ok(new { message = "You have been registered your account." })); } foreach (var err in result.Errors) { ModelState.AddModelError(err.Code, err.Description); } } return(BadRequest(ModelState)); } catch (Exception ex) { return(StatusCode((int)HttpStatusCode.InternalServerError, ex.Message)); } }
public async Task <IdentityResult> CreateUserAsync(NesopsUsers user, string password, IEnumerable <string> roles = null) { using (var transaction = _dbContext.Database.BeginTransaction()) { var result = await _userManager.CreateAsync(user, password); if (!result.Succeeded) { return(result); } if (roles != null) { result = await _userManager.AddToRolesAsync(user, roles); } if (result.Succeeded) { transaction.Commit(); } return(result); } }