public async Task <IActionResult> Register(RegisterModel model) { if (!ModelState.IsValid) { return(View()); } // throw new NotImplementedException(); try { // Create User Account var user = await _accountsService.CreateUserAsync(model); // Sign User in await _signInManager.SignInAsync(user, isPersistent : false); // Send user to homepage after creating account return(LocalRedirect("~/")); } catch (Exception e) { ModelState.AddModelError("", e.Message); return(View()); } }
public async Task <IActionResult> CreateNewUserAsync([FromBody] UserCreate newUser, CancellationToken ct) { if (!_accountsService.CanExecuteAdminRequest(User)) { return(Unauthorized()); } if (string.IsNullOrEmpty(newUser?.UserName)) { return(BadRequest(new ApiError(Resources.InvalidParameters, Resources.NameFieldRequired))); } if (string.IsNullOrEmpty(newUser.Email)) { return(BadRequest(new ApiError(Resources.InvalidParameters, Resources.EmailFieldRequired))); } if (string.IsNullOrEmpty(newUser.Password)) { return(BadRequest(new ApiError(Resources.InvalidParameters, Resources.PasswordFieldRequired))); } if (!ModelState.IsValid) { return(BadRequest(new ApiError(ModelState))); } var result = await _accountsService.CreateUserAsync(newUser); if (result.Succeeded) { return(Created(Url.Link(nameof(VerifyLoginStatus), null), null)); } return(BadRequest(result.Errors)); }
/// <summary> /// Add user to the system /// </summary> /// <param name="accountsService"></param> /// <param name="newUser"></param> /// <param name="role"></param> /// <returns></returns> private static async Task AddUser(IAccountsService accountsService, UserCreate newUser, string role) { var createResult = await accountsService.CreateUserAsync(newUser); var createdUser = accountsService.GetUserByUserName(newUser.UserName); var addRoleResult = await accountsService.AddUserToRoleAsync(createdUser, role); }
public async Task<IActionResult> Register(RegisterModel model) { if(!ModelState.IsValid) return View(); try{ var user = await _accountsService.CreateUserAsync(model); await _signInManager.SignInAsync(user, isPersistent: false); return LocalRedirect("~/"); } catch(Exception e) { ModelState.AddModelError("", e.Message); return View(); } }
public async Task <IActionResult> Register(RegisterModel model) { if (!ModelState.IsValid) { return(View()); } try { var user = await _accountsService.CreateUserAsync(model); //this below code allows the user to be logged in automatically after registration await _signInManager.SignInAsync(user, isPersistent : false); //the below returns user to our homepage after registered and logged in automaticallyss return(LocalRedirect("~/")); } catch (Exception e) { ModelState.AddModelError("", e.Message); return(View()); } }