public async Task <ActionResult> AddUser(RegisterFromAdminViewModel model) { if (ModelState.IsValid) { var user = new ApplicationUser { FirstName = model.FirstName, LastName = model.LastName, Department = model.Department, ShiftType = model.ShiftType, PhoneNumber = model.PhoneNumber, UserName = model.Email, Email = model.Email }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { result = await UserManager.AddToRoleAsync(user.Id, model.RoleName); } } return(RedirectToAction("Index", "Group", new { area = "Admin" })); }
public async Task <IActionResult> CreateUser(RegisterFromAdminViewModel model) { var requiresConfirmedEmail = (await _SettingsRepository.GetPolicies()).RequiresConfirmedEmail; ViewData["AllowRequestEmailConfirmation"] = requiresConfirmedEmail; if (!_Options.CheatMode) { model.IsAdmin = false; } if (ModelState.IsValid) { IdentityResult result; var user = new ApplicationUser { UserName = model.Email, Email = model.Email, EmailConfirmed = model.EmailConfirmed, RequiresEmailConfirmation = requiresConfirmedEmail, Created = DateTimeOffset.UtcNow }; if (!string.IsNullOrEmpty(model.Password)) { result = await _UserManager.CreateAsync(user, model.Password); } else { result = await _UserManager.CreateAsync(user); } if (result.Succeeded) { if (model.IsAdmin && !(await _UserManager.AddToRoleAsync(user, Roles.ServerAdmin)).Succeeded) { model.IsAdmin = false; } var tcs = new TaskCompletionSource <Uri>(); _eventAggregator.Publish(new UserRegisteredEvent() { RequestUri = Request.GetAbsoluteRootUri(), User = user, Admin = model.IsAdmin is true, CallbackUrlGenerated = tcs });
public ActionResult AddUser() { List <SelectListItem> list = new List <SelectListItem>(); foreach (var role in RoleManager.Roles) { list.Add(new SelectListItem() { Value = role.Name, Text = role.Name }); } //ViewBag.RoleName = list; var model = new RegisterFromAdminViewModel() { Roles = list }; return(View(model)); }
public async Task <IActionResult> CreateUser(RegisterFromAdminViewModel model) { ViewData["AllowIsAdmin"] = _Options.AllowAdminRegistration; ViewData["AllowRequestEmailConfirmation"] = _cssThemeManager.Policies.RequiresConfirmedEmail; if (ModelState.IsValid) { IdentityResult result; var user = new ApplicationUser { UserName = model.Email, Email = model.Email, EmailConfirmed = model.EmailConfirmed, RequiresEmailConfirmation = _cssThemeManager.Policies.RequiresConfirmedEmail }; if (!string.IsNullOrEmpty(model.Password)) { result = await _UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { TempData[WellKnownTempData.SuccessMessage] = "Account created"; return(RedirectToAction(nameof(ListUsers))); } } else { result = await _UserManager.CreateAsync(user); } if (result.Succeeded) { if (model.IsAdmin && !(await _UserManager.AddToRoleAsync(user, Roles.ServerAdmin)).Succeeded) { model.IsAdmin = false; } var tcs = new TaskCompletionSource <Uri>(); _eventAggregator.Publish(new UserRegisteredEvent() { RequestUri = Request.GetAbsoluteRootUri(), User = user, Admin = model.IsAdmin is true, CallbackUrlGenerated = tcs });