예제 #1
0
        public AssignRolesViewModel GetAssignRolesViewModel()
        {
            var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(this.Context));
            var roles       = this.Context.Roles
                              .Select(r => new SelectListItem()
            {
                Value = r.Name,
                Text  = r.Name
            })
                              .ToList();
            var users = this.Context.Users
                        .Select(u => new SelectListItem()
            {
                Value = u.Id,
                Text  = u.UserName
            })
                        .ToList();

            AssignRolesViewModel viewModel = new AssignRolesViewModel()
            {
                Roles = roles,
                Users = users
            };

            return(viewModel);
        }
예제 #2
0
 public AssignRolesViewModelsController(RoleManager <IdentityRole> roleManager, UserManager <BlogUser> userManager, ILogger <AssignRolesViewModelsController> logger, ApplicationDbContext db)
 {
     _roleManager = roleManager;
     _userManager = userManager;
     _logger      = logger;
     _db          = db;
     mymodel      = new AssignRolesViewModel(_userManager, _db);
 }
예제 #3
0
        public async Task <IActionResult> Assign(AssignRolesViewModel model)
        {
            var newRole = _roleManager.FindByIdAsync(model.currentRole).Result;
            var newUser = _userManager.FindByIdAsync(model.currentUser).Result;
            await _userManager.AddToRoleAsync(newUser, newRole.Name);

            await _db.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
예제 #4
0
 public ActionResult AssignRoles(AssignRolesViewModel model)
 {
     if (ModelState.IsValid)
     {
         if (model.SelectedUsers != null)
         {
             foreach (string userId in model.SelectedUsers)
             {
                 helper.AddUserToRole(userId, model.RoleName);
             }
         }
         return(RedirectToAction("RoleAssignations", "Roles", new { id = model.RoleId }));
     }
     return(View(model));
 }
예제 #5
0
        public async Task <object> AssignRoles(AssignRolesViewModel model)
        {
            var appUser = _userManager.Users.SingleOrDefault(r => r.UserName == model.Username);

            if (appUser == null)
            {
                throw new NotFoundException($"invalid user:${model.Username}");
            }

            var result = await _userManager.AddToRolesAsync(appUser, model.Roles);

            if (!result.Succeeded)
            {
                var errors = result.Errors.Select(it => $"{it.Code}: {it.Description}").ToArray();
                _logger.LogError($"user-creation.failed {string.Join(",", errors)}");
                throw new ClientFriendlyException("Oops, operation failed, please try again");
            }

            return(new
            {
                Status = true,
                Message = "Operation successful"
            });
        }
예제 #6
0
 public IActionResult AssignRoles([FromBody] AssignRolesViewModel model)
 => OnAction <AssignRolesViewModel, System.AssignRolesDto>(model, _systemUserRepo.AssignRoles);
예제 #7
0
        public ActionResult AssignRoles()
        {
            AssignRolesViewModel viewModel = this.adminService.GetAssignRolesViewModel();

            return(View(viewModel));
        }