private void addGroup(GroupConf groupConf, ServerLog server) { var searchNodes = itemsTV.Nodes[0].Nodes.OfType <TreeNode>(); var serverNode = searchNodes.FirstOrDefault(node => node.Tag != null && node.Tag.Equals(server)); if (serverNode == null) { return; } var newGroup = new GroupLog(); newGroup.Name = groupConf.Name; newGroup.FilePath = groupConf.CSVPath; newGroup.UpdatePeriod = groupConf.UpdatePeriod; newGroup.LogRate = groupConf.LogRate; newGroup.LogFileSettings = groupConf.LogFileSettings; newGroup.Server = server; newGroup.Server.GroupLogs.Add(newGroup); newGroup.ItemAction += itemAction; // add node. TreeNode groupNode = new TreeNode(newGroup.Name); groupNode.Tag = newGroup; serverNode.Nodes.Add(groupNode); serverNode.Expand(); MonitoredItemsListCTRL listCTRL = new MonitoredItemsListCTRL(); newGroup.Handle = listCTRL; foreach (ItemConf itemConf in groupConf.ItemConfs) { addItem(itemConf, newGroup); } }
private void newGroupBTN_Click(object sender, EventArgs e) { try { var selectedNode = itemsTV.SelectedNode; if (selectedNode == null || selectedNode.Tag == null || selectedNode.Tag.GetType() != typeof(ServerLog)) { return; } var newGroup = new GroupLog(); newGroup.Name = "Group"; newGroup.Server = (ServerLog)selectedNode.Tag; ; if (new GroupForm(newGroup).ShowDialog() != DialogResult.OK) { return; } newGroup.Server.GroupLogs.Add(newGroup); newGroup.ItemAction += itemAction; // add node. TreeNode groupNode = new TreeNode(newGroup.Name); groupNode.Tag = newGroup; selectedNode.Nodes.Add(groupNode); selectedNode.Expand(); MonitoredItemsListCTRL listCTRL = new MonitoredItemsListCTRL(); newGroup.Handle = listCTRL; } catch (Exception exception) { ClientUtils.HandleException(this.Text, exception); } }