Beispiel #1
0
        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"])));
            }
        }
Beispiel #2
0
        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());
            }
        }