public static bool TryGetManagedGroup(UserFlag UserFlag, out UserFlagUsersManagedGroup ManagedGroup) { ADManagedGroup managedGroup; string key = GetKey(UserFlag); if (ActiveDirectory.Context.ManagedGroups.TryGetValue(key, out managedGroup)) { ManagedGroup = (UserFlagUsersManagedGroup)managedGroup; return true; } else { ManagedGroup = null; return false; } }
public static UserFlagUsersManagedGroup Initialize(UserFlag UserFlag) { if (UserFlag.Id > 0) { var key = GetKey(UserFlag); if (!string.IsNullOrEmpty(UserFlag.UsersLinkedGroup)) { var config = ADManagedGroup.ConfigurationFromJson(UserFlag.UsersLinkedGroup); if (config != null && !string.IsNullOrWhiteSpace(config.GroupId)) { var group = new UserFlagUsersManagedGroup( key, config, UserFlag); // Add to AD Context ActiveDirectory.Context.ManagedGroups.AddOrUpdate(group); return group; } } // Remove from AD Context ActiveDirectory.Context.ManagedGroups.Remove(key); } return null; }