コード例 #1
0
ファイル: FrmMQTT.cs プロジェクト: GJSoftware/Tool
        private void ShowDeviceNode(CService.CStatusArgs e)
        {
            if (this.InvokeRequired)
            {
                this.Invoke(new Action <CService.CStatusArgs>(ShowDeviceNode), e);
            }
            else
            {
                for (int i = 0; i < e.data.Data.Count; i++)
                {
                    string idNo = e.data.Data[i].ID;

                    EDevRunStatus runStatus = (EDevRunStatus)e.data.Data[i].RunStatus;

                    if (!_deviceList.ContainsKey(idNo))
                    {
                        _deviceList.Add(idNo, new CDevice()
                        {
                            IdNo      = idNo,
                            Name      = e.data.Data[i].Name,
                            RunStatus = runStatus,
                            Count     = 0
                        });

                        NodeView.Rows.Add(NodeView.Rows.Count + 1, idNo, e.data.Data[i].Name, runStatus.ToString(),
                                          e.data.Data[i].TTNum, e.data.Data[i].FailNum, 1);
                        _deviceRows.Add(idNo, NodeView.Rows.Count);
                    }

                    _deviceList[idNo].RunStatus = runStatus;

                    _deviceList[idNo].Count++;

                    NodeView.Rows[_deviceRows[idNo] - 1].Cells[3].Value = runStatus.ToString();

                    NodeView.Rows[_deviceRows[idNo] - 1].Cells[4].Value = e.data.Data[i].TTNum;

                    NodeView.Rows[_deviceRows[idNo] - 1].Cells[5].Value = e.data.Data[i].FailNum;

                    NodeView.Rows[_deviceRows[idNo] - 1].Cells[6].Value = _deviceList[idNo].Count;
                }
            }
        }
コード例 #2
0
ファイル: FrmMQTT.cs プロジェクト: GJSoftware/Tool
        private void btnServerCmd_Click(object sender, EventArgs e)
        {
            try
            {
                btnServerCmd.Enabled = false;

                string er = string.Empty;

                EMessageType messType = EMessageType.广播指令;

                string cmdInfo = txtCmdInfo.Text;

                if (cmbMesType.SelectedIndex == 1)
                {
                    messType = EMessageType.应答指令;

                    EDevRunStatus runStat = (EDevRunStatus)Enum.Parse(typeof(EDevRunStatus), cmbCmdInfo.Text);

                    cmdInfo = ((int)runStat).ToString();
                }

                ECmdType cmdType = (ECmdType)cmbCmdType.SelectedIndex;

                string cmdName = cmdType.ToString();

                if (!_service.Publish_ALL(messType, cmdType, cmdName, cmdInfo, out er))
                {
                    ShowServiceStatus(er, true);
                    return;
                }

                ShowServiceStatus("发布消息OK", false);
            }
            catch (Exception ex)
            {
                ShowServiceStatus(ex.ToString(), false);
            }
            finally
            {
                btnServerCmd.Enabled = true;
            }
        }