示例#1
0
 private int RefreshTree()
 {
     if (this.GroupTreeOpFlg == 64)
     {
         return(1);
     }
     if (ClientAPI.getDataSet(1) == null)
     {
         return(-1);
     }
     System.Collections.Generic.Dictionary <int, ClientAPI.DeviceWithZoneRackInfo> devicRackZoneRelation = ClientAPI.GetDevicRackZoneRelation();
     foreach (TreeNode treeNode in this.tvDataGp.Nodes)
     {
         foreach (TreeNode treeNode2 in treeNode.Nodes)
         {
             foreach (TreeNode treeNode3 in treeNode2.Nodes)
             {
                 string text = treeNode3.Tag.ToString();
                 text = text.Substring(0, text.IndexOf('@'));
                 int num = System.Convert.ToInt32(text);
                 if (!ClientAPI.IsDeviceExisted(num))
                 {
                     int result = 1;
                     return(result);
                 }
                 if (!devicRackZoneRelation.ContainsKey(num))
                 {
                     int result = 1;
                     return(result);
                 }
                 ClientAPI.DeviceWithZoneRackInfo deviceWithZoneRackInfo = devicRackZoneRelation[num];
                 if (!deviceWithZoneRackInfo.device_nm.Equals(treeNode3.Text))
                 {
                     treeNode3.Text = deviceWithZoneRackInfo.device_nm;
                 }
                 if (!ClientAPI.IsDeviceOnline(num))
                 {
                     treeNode3.ImageIndex         = 2;
                     treeNode3.SelectedImageIndex = 2;
                 }
                 else
                 {
                     treeNode3.ImageIndex         = 3;
                     treeNode3.SelectedImageIndex = 3;
                 }
             }
         }
     }
     return(2);
 }
示例#2
0
        public int refreshTree()
        {
            if (ClientAPI.getDataSet(1) == null)
            {
                return(-1);
            }
            TreeNode treeNode    = this.tvPowerControl.Nodes[0];
            int      count       = treeNode.Nodes.Count;
            int      deviceCount = this.getDeviceCount();

            if (count != deviceCount)
            {
                return(1);
            }
            System.Collections.Generic.Dictionary <int, ClientAPI.DeviceWithZoneRackInfo> devicRackZoneRelation = ClientAPI.GetDevicRackZoneRelation();
            foreach (TreeNode treeNode2 in treeNode.Nodes)
            {
                string value = (string)treeNode2.Tag;
                int    num   = System.Convert.ToInt32(value);
                if (!ClientAPI.IsDeviceExisted(num))
                {
                    int result = 1;
                    return(result);
                }
                if (!devicRackZoneRelation.ContainsKey(num))
                {
                    int result = 1;
                    return(result);
                }
                ClientAPI.DeviceWithZoneRackInfo deviceWithZoneRackInfo = devicRackZoneRelation[num];
                if (!deviceWithZoneRackInfo.device_nm.Equals(treeNode2.Text))
                {
                    treeNode2.Text = deviceWithZoneRackInfo.device_nm;
                }
                if (!ClientAPI.IsDeviceOnline(num))
                {
                    treeNode2.ImageIndex         = 2;
                    treeNode2.SelectedImageIndex = 2;
                }
                else
                {
                    treeNode2.ImageIndex         = 3;
                    treeNode2.SelectedImageIndex = 3;
                }
            }
            return(2);
        }
示例#3
0
        private void FillData()
        {
            string[] array = this.m_devidsinRack.Split(new char[]
            {
                ','
            });
            System.Collections.Generic.Dictionary <int, ClientAPI.DeviceWithZoneRackInfo> devicRackZoneRelation = ClientAPI.GetDevicRackZoneRelation();
            this.treeView1.Nodes.Clear();
            string   text     = "";
            TreeNode treeNode = new TreeNode();

            treeNode.Name       = "Root";
            treeNode.ImageIndex = 1;
            this.treeView1.Nodes.Add(treeNode);
            this.treeView1.Indent = 15;
            DataSet dataSet = new DataSet();

            try
            {
                dataSet = this.allData;
                string[] array2 = array;
                for (int i = 0; i < array2.Length; i++)
                {
                    string text2 = array2[i];
                    int    num   = System.Convert.ToInt32(text2);
                    if (devicRackZoneRelation.ContainsKey(num))
                    {
                        ClientAPI.DeviceWithZoneRackInfo deviceWithZoneRackInfo = devicRackZoneRelation[num];
                        DataTable dataTable = dataSet.Tables[0].Clone();
                        DataRow[] array3    = dataSet.Tables[0].Select("device_id=" + text2);
                        for (int j = 0; j < array3.Length; j++)
                        {
                            dataTable.ImportRow(array3[j]);
                        }
                        if (dataTable.Rows.Count > 0 && this.m_UACDevPort.ContainsKey((long)num))
                        {
                            TreeNode treeNode2 = new TreeNode();
                            treeNode2.Name = "Device";
                            if (System.Convert.ToString(dataTable.Rows[0]["device_nm"]) != System.Convert.ToString(-1000))
                            {
                                if (System.Convert.ToString(dataTable.Rows[0]["device_nm"]) != "")
                                {
                                    treeNode2.Text = System.Convert.ToString(dataTable.Rows[0]["device_nm"]);
                                }
                                else
                                {
                                    treeNode2.Text = System.Convert.ToString(dataTable.Rows[0]["device_ip"]);
                                }
                            }
                            else
                            {
                                treeNode2.Text = "";
                            }
                            text = deviceWithZoneRackInfo.rack_nm;
                            if (System.Convert.ToString(dataTable.Rows[0]["device_state"]) != "1")
                            {
                                treeNode2.ImageIndex         = 6;
                                treeNode2.SelectedImageIndex = 6;
                                treeNode.Nodes.Add(treeNode2);
                            }
                            else
                            {
                                treeNode2.ImageIndex         = 7;
                                treeNode2.SelectedImageIndex = 7;
                                string         device_model      = deviceWithZoneRackInfo.device_model;
                                string         fw_version        = deviceWithZoneRackInfo.fw_version;
                                DevModelConfig deviceModelConfig = DevAccessCfg.GetInstance().getDeviceModelConfig(device_model, fw_version);
                                bool           flag = true;
                                if (this.m_UACDevPort.ContainsKey((long)num) && (this.m_UACDevPort[(long)num] == null || this.m_UACDevPort[(long)num].Count == 0))
                                {
                                    double   maxV        = ecoConvert.f2d(dataTable.Rows[0]["max_power"]);
                                    double   minV        = ecoConvert.f2d(dataTable.Rows[0]["min_power"]);
                                    double   maxV2       = ecoConvert.f2d(dataTable.Rows[0]["max_current"]);
                                    double   minV2       = ecoConvert.f2d(dataTable.Rows[0]["min_current"]);
                                    double   maxV3       = ecoConvert.f2d(dataTable.Rows[0]["max_voltage"]);
                                    double   minV3       = ecoConvert.f2d(dataTable.Rows[0]["min_voltage"]);
                                    double   maxV4       = ecoConvert.f2d(dataTable.Rows[0]["max_power_diss"]);
                                    double   minV4       = ecoConvert.f2d(dataTable.Rows[0]["min_power_diss"]);
                                    int      uIthEdidflg = devcfgUtil.UIThresholdEditFlg(deviceModelConfig, "dev");
                                    TreeNode treeNode3   = this.genTreeNode(uIthEdidflg, 4, EcoLanguage.getMsg(LangRes.Title_PowerDiss, new string[0]), ecoConvert.f2d(dataTable.Rows[0]["power_consumption"]), minV4, maxV4, "F4", "kWh", 13, 15, 14, 12, ref flag);
                                    if (treeNode3 != null)
                                    {
                                        treeNode2.Nodes.Add(treeNode3);
                                    }
                                    TreeNode treeNode4 = this.genTreeNode(uIthEdidflg, 3, EcoLanguage.getMsg(LangRes.Title_Power, new string[0]), ecoConvert.f2d(dataTable.Rows[0]["power_value"]), minV, maxV, "F4", "W", 13, 15, 14, 12, ref flag);
                                    if (treeNode4 != null)
                                    {
                                        treeNode2.Nodes.Add(treeNode4);
                                    }
                                    TreeNode treeNode5 = this.genTreeNode(uIthEdidflg, 2, EcoLanguage.getMsg(LangRes.Title_Voltage, new string[0]), ecoConvert.f2d(dataTable.Rows[0]["voltage_value"]), minV3, maxV3, "F2", "V", 25, 27, 26, 24, ref flag);
                                    if (treeNode5 != null)
                                    {
                                        treeNode2.Nodes.Add(treeNode5);
                                    }
                                    TreeNode treeNode6 = this.genTreeNode(uIthEdidflg, 1, EcoLanguage.getMsg(LangRes.Title_Current, new string[0]), ecoConvert.f2d(dataTable.Rows[0]["current_value"]), minV2, maxV2, "F2", "A", 3, 5, 4, 2, ref flag);
                                    if (treeNode6 != null)
                                    {
                                        treeNode2.Nodes.Add(treeNode6);
                                    }
                                    if (deviceModelConfig.leakCurrent == Constant.YES)
                                    {
                                        int num2 = (int)dataTable.Rows[0]["leakcurrent_status"];
                                        if (num2 == Constant.YES)
                                        {
                                            TreeNode treeNode7 = new TreeNode();
                                            treeNode7.Name               = "Neutral leakage current";
                                            treeNode7.ToolTipText        = treeNode7.Name;
                                            treeNode7.ImageIndex         = 35;
                                            treeNode7.SelectedImageIndex = 35;
                                            treeNode7.Text               = "Neutral leakage current";
                                            treeNode2.Nodes.Add(treeNode7);
                                            flag = false;
                                        }
                                    }
                                }
                                if (!flag)
                                {
                                    treeNode2.Expand();
                                }
                                if (this.m_UACDevPort.ContainsKey((long)num))
                                {
                                    this.FillData_Outlet(treeNode2, dataSet, text2, deviceModelConfig);
                                }
                                if (this.m_UACDevPort.ContainsKey((long)num) && (this.m_UACDevPort[(long)num] == null || this.m_UACDevPort[(long)num].Count == 0))
                                {
                                    this.FillData_Bank(treeNode2, dataSet, text2, deviceModelConfig);
                                }
                                if (this.m_UACDevPort.ContainsKey((long)num) && (this.m_UACDevPort[(long)num] == null || this.m_UACDevPort[(long)num].Count == 0))
                                {
                                    this.FillData_Line(treeNode2, dataSet, text2, deviceModelConfig);
                                }
                                treeNode.Nodes.Add(treeNode2);
                            }
                        }
                    }
                }
            }
            catch (System.Exception ex)
            {
                System.Console.WriteLine(ex.Message);
            }
            treeNode.Text = text;
            treeNode.Expand();
        }
示例#4
0
        private void showOutletInfo(long gpID)
        {
            DataTable dataTable = new DataTable();

            dataTable.Columns.Add("devID", typeof(string));
            dataTable.Columns.Add(EcoLanguage.getMsg(LangRes.OPDataGp_InfoC1No, new string[0]), typeof(int));
            dataTable.Columns.Add(EcoLanguage.getMsg(LangRes.Comm_name, new string[0]), typeof(string));
            dataTable.Columns.Add(EcoLanguage.getMsg(LangRes.Group_TPOutlet, new string[0]), typeof(int));
            dataTable.Columns.Add(EcoLanguage.getMsg(LangRes.OPDataGp_Status, new string[0]), typeof(string));
            dataTable.Columns.Add(EcoLanguage.getMsg(LangRes.Group_NMDev, new string[0]), typeof(string));
            dataTable.Columns.Add(EcoLanguage.getMsg(LangRes.Group_NMRack, new string[0]), typeof(string));
            dataTable.Columns.Add(EcoLanguage.getMsg(LangRes.Group_NMZone, new string[0]), typeof(string));
            DataSet dataSet = ClientAPI.getDataSet(0);

            if (dataSet == null)
            {
                return;
            }
            DataTable onlineOutlets = dataSet.Tables[2];
            GroupInfo groupInfo     = null;

            System.Collections.Generic.List <GroupInfo> groupCopy = ClientAPI.getGroupCopy();
            foreach (GroupInfo current in groupCopy)
            {
                if (current.ID == gpID)
                {
                    groupInfo = current;
                    break;
                }
            }
            if (groupInfo == null)
            {
                return;
            }
            string groupType = groupInfo.GroupType;
            string text      = groupInfo.Members;

            if (text == null || text.Length == 0)
            {
                text = "-1";
            }
            System.DateTime now = System.DateTime.Now;
            commUtil.ShowInfo_DEBUG("Start GetDevicRackZoneRelation ----------------" + now.ToString("yyyy/MM/dd HH:mm:ss:fff"));
            System.Collections.Generic.Dictionary <int, ClientAPI.DeviceWithZoneRackInfo> devicRackZoneRelation = ClientAPI.GetDevicRackZoneRelation();
            System.DateTime now2     = System.DateTime.Now;
            System.TimeSpan timeSpan = now2 - now;
            commUtil.ShowInfo_DEBUG(string.Concat(new object[]
            {
                "End   GetDevicRackZoneRelation ----------------",
                now2.ToString("yyyy/MM/dd HH:mm:ss:fff"),
                " spend=",
                timeSpan.TotalMilliseconds
            }));
            string ssss = "device_id";
            string key;

            switch (key = groupType)
            {
            case "zone":
            {
                string text2 = ClientAPI.getRacklistByZonelist(text);
                text2 = commUtil.uniqueIDs(text2);
                text  = "";
                if (text2.Length > 0)
                {
                    text2 = text2.Substring(0, text2.Length - 1);
                    DataRow[] dataRows = ClientAPI.getDataRows(0, "rack_id in (" + text2 + ")", "");
                    DataRow[] array    = dataRows;
                    for (int i = 0; i < array.Length; i++)
                    {
                        DataRow dataRow = array[i];
                        text = text + dataRow["device_id"] + ",";
                    }
                    text = commUtil.uniqueIDs(text);
                }
                if (text.Length > 0)
                {
                    text = text.Substring(0, text.Length - 1);
                }
                ssss = "device_id";
                break;
            }

            case "rack":
            case "allrack":
            {
                DataRow[] dataRows = ClientAPI.getDataRows(0, "rack_id in (" + text + ")", "");
                text = "";
                DataRow[] array2 = dataRows;
                for (int j = 0; j < array2.Length; j++)
                {
                    DataRow dataRow2 = array2[j];
                    text = text + dataRow2["device_id"] + ",";
                }
                text = commUtil.uniqueIDs(text);
                if (text.Length > 0)
                {
                    text = text.Substring(0, text.Length - 1);
                }
                ssss = "device_id";
                break;
            }

            case "dev":
            case "alldev":
                ssss = "device_id";
                break;

            case "outlet":
            case "alloutlet":
                ssss = "port_id";
                break;
            }
            DataTable        oPOutlets   = this.getOPOutlets(onlineOutlets, ssss, text);
            string           text3       = "";
            string           text4       = "";
            DataGridViewCell currentCell = this.dgvInfo.CurrentCell;

            if (currentCell != null)
            {
                int rowIndex = currentCell.RowIndex;
                text3 = this.dgvInfo.Rows[rowIndex].Cells[0].Value.ToString();
                text4 = this.dgvInfo.Rows[rowIndex].Cells[3].Value.ToString();
            }
            foreach (DataRow dataRow3 in oPOutlets.Rows)
            {
                string text5 = dataRow3["device_id"].ToString();
                if (devicRackZoneRelation.ContainsKey(System.Convert.ToInt32(text5)))
                {
                    ClientAPI.DeviceWithZoneRackInfo deviceWithZoneRackInfo = devicRackZoneRelation[System.Convert.ToInt32(text5)];
                    string         device_model      = deviceWithZoneRackInfo.device_model;
                    string         fw_version        = deviceWithZoneRackInfo.fw_version;
                    DevModelConfig deviceModelConfig = DevAccessCfg.GetInstance().getDeviceModelConfig(device_model, fw_version);
                    if (deviceModelConfig.switchableOutlets != 0uL)
                    {
                        int num2 = System.Convert.ToInt32(dataRow3["port_number"].ToString());
                        if (deviceModelConfig.isOutletSwitchable(num2 - 1))
                        {
                            if (dataRow3["port_nm"].ToString().Equals(System.Convert.ToString(-500)) || dataRow3["port_nm"].ToString().Equals(System.Convert.ToString(-1000)))
                            {
                                dataRow3["port_nm"] = "";
                            }
                            string text6 = dataRow3["port_state"].ToString();
                            if (text6.Equals(OutletStatus.OFF.ToString()))
                            {
                                dataRow3["port_state"] = EcoLanguage.getMsg(LangRes.OPST_OFF, new string[0]);
                            }
                            else
                            {
                                if (text6.Equals(OutletStatus.ON.ToString()))
                                {
                                    dataRow3["port_state"] = EcoLanguage.getMsg(LangRes.OPST_ON, new string[0]);
                                }
                                else
                                {
                                    if (text6.Equals(OutletStatus.Pending.ToString()))
                                    {
                                        dataRow3["port_state"] = EcoLanguage.getMsg(LangRes.OPST_PENDING, new string[0]);
                                    }
                                    else
                                    {
                                        if (text6.Equals(OutletStatus.Fault.ToString()))
                                        {
                                            dataRow3["port_state"] = EcoLanguage.getMsg(LangRes.OPST_FAULT, new string[0]);
                                        }
                                    }
                                }
                            }
                            string text7 = dataRow3["port_nm"].ToString();
                            if (text7.Equals("\0"))
                            {
                                dataRow3["port_nm"] = string.Empty;
                            }
                            dataTable.Rows.Add(new object[]
                            {
                                text5,
                                0,
                                dataRow3["port_nm"],
                                dataRow3["port_number"],
                                dataRow3["port_state"],
                                deviceWithZoneRackInfo.device_nm,
                                deviceWithZoneRackInfo.rack_nm,
                                deviceWithZoneRackInfo.zone_list
                            });
                        }
                    }
                }
            }
            dataTable = new DataView(dataTable)
            {
                Sort = EcoLanguage.getMsg(LangRes.Group_NMDev, new string[0]) + " ASC, " + EcoLanguage.getMsg(LangRes.Group_TPOutlet, new string[0]) + " ASC"
            }.ToTable();
            int num3 = -1;
            int num4 = 0;

            foreach (DataRow dataRow4 in dataTable.Rows)
            {
                num4++;
                dataRow4[1] = num4;
                string text5 = (string)dataRow4[0];
                if (text3.Equals(text5) && text4.Equals(dataRow4[3].ToString()))
                {
                    num3 = num4 - 1;
                }
            }
            this.dgvInfo.DataSource = null;
            this.dgvInfo.DataSource = dataTable;
            this.dgvInfo.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            this.dgvInfo.Columns[0].Visible      = false;
            this.dgvInfo.Columns[1].Width        = 60;
            this.dgvInfo.Columns[2].Width        = 150;
            this.dgvInfo.Columns[3].Width        = 40;
            this.dgvInfo.Columns[4].Width        = 45;
            this.dgvInfo.Columns[5].Width        = 150;
            this.dgvInfo.Columns[6].Width        = 130;
            this.dgvInfo.Columns[7].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
            int count = oPOutlets.Rows.Count;

            this.nonOPoutletNum.Text = System.Convert.ToString(count - num4);
            this.canOPoutletNum.Text = System.Convert.ToString(num4);
            if (num4 > 0)
            {
                this.groupBoxPowerControl.Visible = true;
                this.butOn.Enabled     = EcoGlobalVar.flgEnablePower;
                this.butOff.Enabled    = EcoGlobalVar.flgEnablePower;
                this.cbDReboot.Enabled = EcoGlobalVar.flgEnablePower;
            }
            else
            {
                this.groupBoxPowerControl.Visible = false;
            }
            if (num3 >= 0)
            {
                this.dgvInfo.CurrentCell = this.dgvInfo.Rows[num3].Cells[2];
            }
        }