public static bool TryGetManagedGroup(UserFlag UserFlag, out UserFlagUserDevicesManagedGroup ManagedGroup) { ADManagedGroup managedGroup; string key = GetKey(UserFlag); if (ActiveDirectory.Context.ManagedGroups.TryGetValue(key, out managedGroup)) { ManagedGroup = (UserFlagUserDevicesManagedGroup)managedGroup; return true; } else { ManagedGroup = null; return false; } }
public static UserFlagUserDevicesManagedGroup Initialize(UserFlag UserFlag) { if (UserFlag.Id > 0) { var key = GetKey(UserFlag); if (!string.IsNullOrEmpty(UserFlag.UserDevicesLinkedGroup)) { var config = ADManagedGroup.ConfigurationFromJson(UserFlag.UserDevicesLinkedGroup); if (config != null && !string.IsNullOrWhiteSpace(config.GroupId)) { var group = new UserFlagUserDevicesManagedGroup( 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; }