public ActionResult AddUserRole(string IdUser) { helpers.UserRolesHelper uhelper = new helpers.UserRolesHelper(); AdminViewModel.AdminUserViewModel myUser = new AdminViewModel.AdminUserViewModel(); //Generate a list of roles the user is NOT in, using a foreach loop. List <string> nonRoles = new List <string>(); var AllRoles = db.Roles.Select(m => m.Name); List <string> myRoles = uhelper.ListUserRoles(IdUser).ToList(); foreach (var comp in AllRoles) { if (myRoles.Contains(comp) == false) { nonRoles.Add(comp); } } ; //code to convert the list of strings to a selectlist ViewBag.Roles = nonRoles.Select(x => new SelectListItem() { Text = x }); ViewBag.CurrentRoles = myRoles.ToList(); ViewBag.Users = new MultiSelectList(db.Users.Where(u => u.Id == IdUser), "Id", "DisplayName"); // ViewBag.Roles = new MultiSelectList(nonRoles, "Name", "Name"); return(View()); }
public async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { var user = new ApplicationUser { UserName = model.Email, Email = model.Email }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { //automatically give a registered user submitter rights to the bugtracker helpers.UserRolesHelper helper = new helpers.UserRolesHelper(); helper.AddUserToRole(user.Id, "Submitter"); // Comment the following line to prevent log in until the user is confirmed. // await SignInManager.SignInAsync(user, isPersistent:false, rememberBrowser:false); // For more information on how to enable account confirmation and password reset please visit http://go.microsoft.com/fwlink/?LinkID=320771 // Send an email with this link string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); string callbackUrl = await SendEmailConfirmationTokenAsync(user.Id, "Confirm your account"); await UserManager.SendEmailAsync(user.Id, "Confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>"); //Uncomment to debug locally // TempData["ViewBagLink"] = callbackUrl; ViewBag.Message = "Check your email and confirm your account, you must be confirmed " + "before you can log in."; return(View("Info")); // return RedirectToAction("Index", "Home"); } AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }