public void Post(RoleUsersDto dto) { var context = ApplicationDbContext.Create(); var userManager = new ApplicationUserManager(new UserStore <ApplicationUser>(context)); var roleManager = new ApplicationRoleManager(new RoleStore <ApplicationRole>(context)); if (!roleManager.RoleExists(dto.RoleName)) { return; } foreach ( var user in dto.UserNames.Select(userName => userManager.FindByName(userName)) .Where(user => user != null) .Where(user => !userManager.IsInRole(user.Id, dto.RoleName))) { userManager.AddToRole(user.Id, dto.RoleName); } foreach ( var user in dto.UserNames.Select(userName => userManager.FindByName(userName)) .Where(user => user != null) .Where(user => userManager.IsInRole(user.Id, dto.RoleName))) { userManager.RemoveFromRole(user.Id, dto.RoleName); } }
public bool Post(RoleUsersDto dto) { if (!_roleManager.RoleExists(dto.RoleName)) { return(false); } foreach ( var user in dto.UserNames.Select(userName => _userManager.FindByName(userName)) .Where(user => user != null) .Where(user => !_userManager.IsInRole(user.Id, dto.RoleName))) { _userManager.AddToRole(user.Id, dto.RoleName); } return(true); }
public async Task UpdateRoleUsersAsync(RoleUsersDto dto) { //移除元角色下的用户 var oddUsers = await _dbContent.UserRoles.Where(b => b.RoleId == dto.Id).ToListAsync(); _dbContent.UserRoles.RemoveRange(oddUsers); await _dbContent.SaveChangesAsync(); //给角色添加新的用户 var newUsers = dto.UserIds.Select(b => new IdentityUserRole <Guid> { RoleId = dto.Id, UserId = b }); await _dbContent.AddRangeAsync(newUsers); await _dbContent.SaveChangesAsync(); }
public async Task <IActionResult> UpdateRoleUsersAsync([FromBody] RoleUsersDto dto) { await _roleService.UpdateRoleUsersAsync(dto); return(Ok()); }