public async Task <IActionResult> Create(UserWithRoleViewModels model) { if (model == null) { throw new ArgumentNullException(nameof(model)); } var User = await _context.Users.FirstOrDefaultAsync(x => x.Id == model.UserId);//Getting User Details from Database var ExistingUserRoles = _context.UserRoles.Where(x => x.UserId == model.UserId).ToList(); if (ExistingUserRoles != null) { foreach (var item in ExistingUserRoles) { _context.UserRoles.Remove(item); await _context.SaveChangesAsync(); } } List <SelectListItem> userRoles = model.Roles.Where(c => c.Selected).ToList(); foreach (var role in userRoles) { await _userManager.AddToRoleAsync(User, role.Text);//Adding Role } return(RedirectToAction(nameof(Index))); }
//View Create Form public IActionResult Create() { UserWithRoleViewModels model = new UserWithRoleViewModels(); model.Roles = _context.Roles.Select(c => new SelectListItem { Text = c.Name.ToString(), Value = c.Id.ToString() }).ToList(); ViewBag.Users = new SelectList(_context.Users, "Id", "Email"); return(View(model)); }