private void ButtonSelectCollections_Click(object sender, EventArgs e) { using (BrowseCollectionDialog collectionDialog = new BrowseCollectionDialog(ConnectionManager)) { collectionDialog.MultiSelect = true; collectionDialog.CollectionType = CollectionType.Device; if (collectionDialog.ShowDialog(this) != DialogResult.OK) { return; } foreach (IResultObject collection in collectionDialog.SelectedCollections) { listViewCollections.Items.Add(new ListViewItem() { Text = collection["Name"].StringValue, SubItems = { collection["CollectionID"].StringValue }, Tag = collection }); } listViewCollections.Focus(); UtilitiesClass.UpdateListViewColumnsSize(listViewCollections, columnHeaderName); } ControlsInspector.InspectAll(); }
public static void AddMulitDeviceCollection(object sender, ScopeNode scopeNode, ActionDescription action, IResultObject selectedObject, PropertyDataUpdated dataUpdatedDelegate, Status Status) { try { using (BrowseCollectionDialog collectionDialog = new BrowseCollectionDialog(selectedObject.ConnectionManager)) { collectionDialog.MultiSelect = true; collectionDialog.CollectionType = CollectionType.Device; collectionDialog.CollectionFilter = (collectionResultObject => { if (collectionResultObject["IsReferenceCollection"].BooleanValue || collectionResultObject["IsBuiltIn"].BooleanValue) { return(false); } if (selectedObject.Count > 1) { foreach (IResultObject resultObject in selectedObject) { if (resultObject.ObjectClass == "SMS_Collection" && resultObject["CollectionID"].StringValue == collectionResultObject["CollectionID"].StringValue) { return(false); } } return(true); } return(!(selectedObject.ObjectClass == "SMS_Collection") || !(selectedObject["CollectionID"].StringValue == collectionResultObject["CollectionID"].StringValue)); }); if (collectionDialog.ShowDialog() != DialogResult.OK) { return; } foreach (IResultObject collection in collectionDialog.SelectedCollections) { List <IResultObject> list = new List <IResultObject>(); foreach (IResultObject item in selectedObject) { IResultObject instance = selectedObject.ConnectionManager.CreateEmbeddedObjectInstance("SMS_CollectionRuleDirect"); instance["ResourceClassName"].StringValue = "SMS_R_System"; instance["RuleName"].StringValue = item["Name"].StringValue; instance["ResourceID"].IntegerValue = item["ResourceID"].IntegerValue; list.Add(instance); } collection.ExecuteMethod("AddMembershipRules", new Dictionary <string, object>() { { "collectionRules", list } }); } } } catch (SmsQueryException ex) { SccmExceptionDialog.ShowDialog(SnapIn.Console, ex); } }