Exemplo n.º 1
0
        private void treeViewSI_AfterSelect(object sender, TreeViewEventArgs e)
        {
            try
            {
                if (treeViewSI.SelectedNode == null)
                {
                    return;
                }

                int      Level        = treeViewSI.SelectedNode.Level;
                string   selectedNode = treeViewSI.SelectedNode.Text;
                Table    dbCurrent    = null; //Node: Table
                DataBase dvCurrent    = null; //Node: DataBase
                Server   chCurrent    = null; //N
                Selection();
                switch (Level)
                {
                case 0:
                    chCurrent = objServerManager.GetBySQLServerName(treeViewSI.SelectedNode.Text);
                    DGMonitorForm.Rows.Clear();
                    break;

                case 1:
                    chCurrent = objServerManager.GetBySQLServerName(treeViewSI.SelectedNode.Parent.Text);
                    dvCurrent = DataBaseManager.GetByDataBaseName(chCurrent, selectedNode);
                    DGMonitorForm.Rows.Clear();

                    break;

                case 2:
                    chCurrent = objServerManager.GetBySQLServerName(treeViewSI.SelectedNode.Parent.Parent.Text);
                    dvCurrent = DataBaseManager.GetByDataBaseName(chCurrent, treeViewSI.SelectedNode.Parent.Text);
                    dbCurrent = TableManager.GetByTableName(dvCurrent, treeViewSI.SelectedNode.Text);
                    DGMonitorForm.Rows.Clear();

                    foreach (Column item in dbCurrent.Columns)
                    {
                        string[] row = { string.Format("{0}", item.ColumnId), item.ColumnName, item.TagName, item.DataBlock, item.Device, item.Channel, item.Cycle, item.Description };

                        DGMonitorForm.Rows.Add(row);
                    }
                    break;

                default:
                    DGMonitorForm.Rows.Clear();
                    break;
                }
                if (chCurrent == null)
                {
                    EventPvGridChannelGet?.Invoke(chCurrent, false);
                }
                else
                {
                    EventPvGridChannelGet?.Invoke(chCurrent, true);
                }
                if (dvCurrent != null)
                {
                    EventPvGridChannelGet?.Invoke(dvCurrent, true);
                }
                else
                {
                    EventPvGridChannelGet?.Invoke(dvCurrent, false);
                }
                if (dbCurrent != null)
                {
                    EventPvGridChannelGet?.Invoke(dbCurrent, true);
                    if (dbCurrent.Columns != null)
                    {
                        lblTagCount.Text = $"Total: {dbCurrent.Columns.Count} tags";
                    }
                }
                else
                {
                    EventPvGridChannelGet?.Invoke(dbCurrent, false);
                }
            }
            catch (Exception ex)
            {
                EventscadaException?.Invoke(GetType().Name, ex.Message);
            }
        }
Exemplo n.º 2
0
        private void treeViewSI_AfterSelect(object sender, TreeViewEventArgs e)
        {
            try
            {
                if (treeViewSI.SelectedNode == null)
                {
                    return;
                }

                int       Level        = treeViewSI.SelectedNode.Level;
                string    selectedNode = treeViewSI.SelectedNode.Text;
                DataBlock dbCurrent    = null; //Node: DataBlock
                Device    dvCurrent    = null; //Node: Device
                Channel   chCurrent    = null; //Node: Channel
                switch (Level)
                {
                case 0:
                    DGMonitorForm.Rows.Clear();
                    break;

                case 1:
                    DGMonitorForm.Rows.Clear();
                    break;

                case 2:
                    chCurrent = objChannelManager.GetByChannelName(treeViewSI.SelectedNode.Parent.Parent.Text);
                    dvCurrent = objDeviceManager.GetByDeviceName(chCurrent, treeViewSI.SelectedNode.Parent.Text);
                    dbCurrent = objDataBlockManager.GetByDataBlockName(dvCurrent, treeViewSI.SelectedNode.Text);
                    DGMonitorForm.Rows.Clear();
                    string[] row = new string[7];
                    foreach (Tag tg in dbCurrent.Tags)
                    {
                        if (tg.Value == null)
                        {
                            row[0] = string.Format("{0}", tg.TagId);
                            row[1] = tg.TagName;
                            row[2] = string.Format("{0}", tg.Address);
                            row[3] = string.Format("{0}", tg.DataType);
                            row[4] = "0";
                            row[5] = string.Format("{0}", tg.TimeSpan);
                            row[6] = tg.Description;

                            DGMonitorForm.Rows.Add(row);
                        }
                        else
                        {
                            string[] row1 = { string.Format("{0}", tg.TagId), tg.TagName, string.Format("{0}", tg.Address), string.Format("{0}", tg.DataType), string.Format("{0}", tg.Value), string.Format("{0}", tg.TimeSpan), tg.Description };

                            DGMonitorForm.Rows.Add(row1);
                        }
                    }
                    break;

                default:
                    DGMonitorForm.Rows.Clear();
                    break;
                }
                if (chCurrent == null)
                {
                    EventPvGridChannelGet?.Invoke(chCurrent, false);
                }
                else
                {
                    switch (chCurrent.ConnectionType)
                    {
                    case "SerialPort":

                        DISerialPort dis = (DISerialPort)chCurrent;
                        EventPvGridChannelGet?.Invoke(dis, true);

                        break;

                    case "Ethernet":

                        DIEthernet die = (DIEthernet)chCurrent;
                        EventPvGridChannelGet?.Invoke(die, true);

                        break;
                    }
                }
                if (dvCurrent != null)
                {
                    EventPvGridDeviceGet?.Invoke(dvCurrent, true);
                }
                else
                {
                    EventPvGridDeviceGet?.Invoke(dvCurrent, false);
                }
                if (dbCurrent != null)
                {
                    EventPvGridDataBlockGet?.Invoke(dbCurrent, true);
                }
                else
                {
                    EventPvGridDataBlockGet?.Invoke(dbCurrent, false);

                    lblSelectedTagName.Text = string.Format("Selected tag: {0}", "None");
                }
            }
            catch (Exception ex)
            {
                EventscadaException?.Invoke(GetType().Name, ex.Message);
            }
        }