private void SearchFormSt1_Load(object sender, EventArgs e) { CancelSearch = true; //Загрузка департаментов в дерево treeViewDepartments.Nodes.Clear(); Db = new DevicesDatabase(); SpgNew = new SearchParametersGroup(); var list = Db.GetDepartments(SpgNew); foreach (var department in list) { var node = new TreeNode { Text = department.NodeName, Tag = new NodeProperty(department.NodeId, NodeTypeEnum.DepartmentNode) }; TreeNodesHelper.AddNode(node, treeViewDepartments.Nodes, treeViewDepartments.Nodes, department.ParentNodeId); } //Загрузка типов узлов в combobox var view = Db.GetDeviceTypes(); comboBoxDevTypes.DisplayMember = "DeviceType"; for (var i = 0; i < view.Table.Rows.Count; i++) { comboBoxDevTypes.Items.Add(new DeviceTypeComboboxItem(view.Table.Rows[i]["Type"].ToString(), Convert.ToInt32(view.Table.Rows[i]["ID Device Type"]))); } }
private void Reload(bool autoOpenFirstFoundDevice = false) { treeViewComputers.Nodes.Clear(); Db = new DevicesDatabase(); var list = Db.GetDepartments(Spg); var listFull = Db.GetDepartments(new SearchParametersGroup()); var cache = new List <Node>(); int cacheCount; do { cacheCount = cache.Count; cache.Clear(); foreach (var department in listFull) { if (!HasChildDepartmentsFromActiveList(department, listFull, list)) { continue; } var node = new TreeNode { Text = department.NodeName, Tag = new NodeProperty(department.NodeId, NodeTypeEnum.DepartmentNode) }; var inserted = TreeNodesHelper.AddNode(node, treeViewComputers.Nodes, treeViewComputers.Nodes, department.ParentNodeId); if (!inserted) { cache.Add(department); } } listFull.Clear(); listFull.AddRange(cache); }while (cache.Count != cacheCount); list = Db.GetDevices(Spg); TreeNode selectNode = null; foreach (var device in list) { var node = new TreeNode { Text = device.NodeName, Tag = new NodeProperty(device.NodeId, NodeTypeEnum.DeviceNode) }; TreeNodesHelper.AddNode(node, treeViewComputers.Nodes, treeViewComputers.Nodes, device.ParentNodeId); if (selectNode == null && autoOpenFirstFoundDevice) { selectNode = node; } } treeViewComputers.Sort(); if (treeViewComputers.Nodes.Count > 0) { treeViewComputers.SelectedNode = selectNode ?? treeViewComputers.Nodes[0]; } toolStripStatusLabelDeviceCount.Text = string.Format("Сетевых узлов: {0}", list.Count); var monitoringWarnings = Db.GetMonitoringWarnings().ToList(); if (!monitoringWarnings.Any()) { toolStripStatusLabelWarning.Visible = false; } else { toolStripStatusLabelWarning.Visible = true; toolStripStatusLabelWarning.ToolTipText = string.Join(Environment.NewLine, monitoringWarnings.ToArray()); } }