private async Task LoadAsync(Core3IDUser user) { var userName = await _userManager.GetUserNameAsync(user); var phoneNumber = await _userManager.GetPhoneNumberAsync(user); Username = userName; Input = new InputModel { PhoneNumber = phoneNumber }; }
} // end public async Task<IActionResult> OnGetAsync(string id) public async Task<IActionResult> OnPostAsync([FromForm]RoleModificationViewModel model) { IdentityResult result; if (ModelState.IsValid) { if (model.IdsToAdd != null) // Avoid null exception { foreach (string addId in model.IdsToAdd) { Core3IDUser user = await userManager.FindByIdAsync(addId); if (user == null) { return BadRequest(String.Format("User with Id, {0}, was not found and cannot be added to role, {1}.", addId, model.RoleName)); } else { result = await userManager.AddToRoleAsync(user, model.RoleName); if (!result.Succeeded) { AddErrorsFromResult(result); } // endif (!result.Succeeded) } // endif (user == null) } // end foreach (string addId in model.IdsToAdd) } // endif (model.IdsToAdd != null) if (model.IdsToDelete != null) // Avoid null exception { foreach (string deleteId in model.IdsToDelete) { Core3IDUser user = await userManager.FindByIdAsync(deleteId); if (user == null) { return BadRequest(String.Format("User with Id, {0}, was not found and cannot be deleted from role, {1}.", deleteId, model.RoleName)); } else { result = await userManager.RemoveFromRoleAsync(user, model.RoleName); if (!result.Succeeded) { AddErrorsFromResult(result); } // endif (!result.Succeeded) } // endif (user == null) } // end foreach (string deleteId in model.IdsToDelete) } // endif (model.IdsToDelete != null) } // endif (ModelState.IsValid) return RedirectToPage("/RoleAdmin/ManageUsers", new { id = model.RoleId }); } // end public async Task<IActionResult> Edit(RoleModificationViewModel model)
} // end public async Task OnGetAsync(string returnUrl = null) public async Task <IActionResult> OnPostAsync(string returnUrl = null) { returnUrl = returnUrl ?? Url.Content("~/"); ExternalLogins = (await _signInManager.GetExternalAuthenticationSchemesAsync()).ToList(); if (ModelState.IsValid) { var user = new Core3IDUser { UserName = Input.Email, Email = Input.Email, LastName = Input.LastName, FirstName = Input.FirstName, PhoneNumber = Input.PhoneNumber }; var result = await _userManager.CreateAsync(user, Input.Password); if (result.Succeeded) { _logger.LogInformation("User created a new account with password."); var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); code = WebEncoders.Base64UrlEncode(Encoding.UTF8.GetBytes(code)); var callbackUrl = Url.Page( "/Account/ConfirmEmail", pageHandler: null, values: new { area = "Identity", userId = user.Id, code = code }, protocol: Request.Scheme); await _emailSender.SendEmailAsync(Input.Email, "Confirm your email", $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>."); if (_userManager.Options.SignIn.RequireConfirmedAccount) { return(RedirectToPage("RegisterConfirmation", new { email = Input.Email })); } else { await _signInManager.SignInAsync(user, isPersistent : false); return(LocalRedirect(returnUrl)); } // endif (_userManager.Options.SignIn.RequireConfirmedAccount) } // endif (result.Succeeded) foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } // end foreach (var error in result.Errors) } // endif (ModelState.IsValid) // If we got this far, something failed, redisplay form return(Page()); } // end public async Task<IActionResult> OnPostAsync(string returnUrl = null)