public EventQueryComponent(String serverIn, String nsIn, String queryIn, EventQueryNode queryNodeIn) { server = serverIn; ns = nsIn; query = queryIn; queryNode = queryNodeIn; }
private void OnAddEventFilter(object sender, EventArgs e) { try { //get current server name ServerNode server = (ServerNode)GetNodeSite().GetParentNode(); String serverName = server.GetUNCName(); if (eventQueryDlg == null) { eventQueryDlg = new EventQueryDialog(serverName, this.connectAs, this.password); } DialogResult res = eventQueryDlg.ShowDialog(); if (res == DialogResult.Cancel) { return; } //Forming a unique query node label: //get all child names into a SortedList Node[] children = GetNodeSite().GetChildNodes(); SortedList childNames = new SortedList(children.Length); foreach (Node childNode in children) { childNames.Add(childNode.Label.ToLower(), null); } string newLabel = WMISys.GetString("WMISE_QueryNameBase", eventQueryDlg.SelectedClassName); string labelSeed = newLabel; //keep adding digits at the end to find a unique label UInt16 i = 1; while (childNames.Contains(newLabel.ToLower())) { newLabel = labelSeed + " " + i.ToString(); i++; } //add the node EventQueryNode newChild = new EventQueryNode(newLabel, serverName, eventQueryDlg.SelectedNS, eventQueryDlg.QueryString, connectAs, password); GetNodeSite().AddChild(newChild); } catch (Exception exc) { MessageBox.Show(WMISys.GetString("WMISE_Exception", exc.Message, exc.StackTrace)); } }