public async Task <IActionResult> Register(RegisterUser10 user) { try { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var createdUser = await _service.Create(user); if (string.IsNullOrWhiteSpace(createdUser.Failed)) { return(Ok(createdUser.Success)); } else { throw new Exception(createdUser.Failed); } } catch (Exception ex) { return(BadRequest(ex.Message)); } }
public async Task <ResultVM> Create(RegisterUser10 user) { try { if (_userManager.FindByNameAsync(user.UserName).Result != null) { throw new Exception("The requested username already exists."); } if (user.Password != user.ComparePassword) { throw new Exception("The passwords does not match"); } var result = await _userManager.CreateAsync(user, user.Password); if (result.Succeeded) { var roleResult = await _userManager.AddToRoleAsync(user, "NormalUser"); if (!roleResult.Succeeded) { throw new Exception("Something went wrong."); } return(new ResultVM() { Success = "User was successfully created! \nYou can now sign in." }); } else { throw new Exception("The user could not be created."); } } catch (Exception ex) { return(new ResultVM() { Failed = ex.Message }); } }