Guest User

Untitled

a guest
Oct 22nd, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.86 KB | None | 0 0
  1. /// <summary>
  2. /// Sets members of the group.
  3. /// </summary>
  4. /// <param name="newMembers">List of group members.</param>
  5. public override void SetGroupMembers(IList<IPrincipal> newMembers)
  6. {
  7. var members = groupPrincipal.Members;
  8. var toDelete = members.Where(m => !newMembers.Where(nm => ((PrincipalBase)nm).Principal.Sid.Value == m.Sid.Value).Any()).ToList();
  9. foreach (var p in toDelete)
  10. {
  11. groupPrincipal.Members.Remove(p);
  12. }
  13.  
  14. var toAdd = newMembers.Where(nm => !members.Where(m => m.Sid.Value == ((PrincipalBase)nm).Principal.Sid.Value).Any()).ToList();
  15. foreach (PrincipalBase p in toAdd)
  16. {
  17. groupPrincipal.Members.Add(p.Principal);
  18. }
  19.  
  20. Context.PrincipalOperation(groupPrincipal.Save);
  21. }
Add Comment
Please, Sign In to add comment