protected void OnUserRemovedFromRoleEvent(UserRemovedFromRoleEvent e) { if (_roles != null && _roles.Contains(e.Role)) { _roles.Remove(e.Role); } }
public async Task RemoveUserFromRoleAsync(string userId, string roleId) { var user = await _userManager.Users.FirstOrDefaultAsync(x => x.Id == userId); if (user == null) { throw new UserNotFoundException(userId); } var role = await _roleManager.Roles.FirstOrDefaultAsync(x => x.Id == roleId); if (role == null) { throw new RoleNotFoundException(roleId); } // check if user is in role? if (await _userManager.IsInRoleAsync(user, role.Name)) { await _userManager.RemoveFromRoleAsync(user, role.Name); var userRemovedFromRoleEvent = new UserRemovedFromRoleEvent(user.Email, role.Name); await _dispatcher.Dispatch(userRemovedFromRoleEvent); } else { _logger.LogWarning($"Attempted to remove {user.UserName} from role {role.Name} they weren't in."); } }
public void RemoveFromRole(Guid userID, string role) { var e = new UserRemovedFromRoleEvent(Guid.NewGuid(), Guid.Empty, Version + 1, DateTime.UtcNow) { UserID = userID, Role = role, TimeStamp = DateTime.UtcNow }; ApplyEvent(e); }
public async Task RemoveUserFromRoleAsync(string userId, string roleId) { var user = await _userManager.Users.FirstOrDefaultAsync(x => x.Id == userId); if (user == null) { throw new UserNotFoundException(userId); } var role = await _roleManager.Roles.FirstOrDefaultAsync(x => x.Id == roleId); if (role == null) { throw new RoleNotFoundException(roleId); } await _userManager.RemoveFromRoleAsync(user, role.Name); var userRemovedFromRoleEvent = new UserRemovedFromRoleEvent(user.Email, role.Name); await _dispatcher.Dispatch(userRemovedFromRoleEvent); }