コード例 #1
0
        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)));
        }
コード例 #2
0
        //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));
        }