Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /// <summary>
- /// Sets members of the group.
- /// </summary>
- /// <param name="newMembers">List of group members.</param>
- public override void SetGroupMembers(IList<IPrincipal> newMembers)
- {
- var members = groupPrincipal.Members;
- var toDelete = members.Where(m => !newMembers.Where(nm => ((PrincipalBase)nm).Principal.Sid.Value == m.Sid.Value).Any()).ToList();
- foreach (var p in toDelete)
- {
- groupPrincipal.Members.Remove(p);
- }
- var toAdd = newMembers.Where(nm => !members.Where(m => m.Sid.Value == ((PrincipalBase)nm).Principal.Sid.Value).Any()).ToList();
- foreach (PrincipalBase p in toAdd)
- {
- groupPrincipal.Members.Add(p.Principal);
- }
- Context.PrincipalOperation(groupPrincipal.Save);
- }
Add Comment
Please, Sign In to add comment