From 441af1b1ba6f0bc5e94e678029918f354838e9a5 Mon Sep 17 00:00:00 2001
From: wells.liu <wells.liu@broconcentric.com>
Date: 星期六, 04 七月 2020 18:05:55 +0800
Subject: [PATCH] Merge branch 'master' of http://gitblit.broconcentric.com:8088/r/M071

---
 src/Bro.UI.Config/MenuForms/FrmOperation.cs |   25 ++++++++++++++++++-------
 1 files changed, 18 insertions(+), 7 deletions(-)

diff --git a/src/Bro.UI.Config/MenuForms/FrmOperation.cs b/src/Bro.UI.Config/MenuForms/FrmOperation.cs
index 9175789..025c4fb 100644
--- a/src/Bro.UI.Config/MenuForms/FrmOperation.cs
+++ b/src/Bro.UI.Config/MenuForms/FrmOperation.cs
@@ -1,5 +1,6 @@
 锘縰sing Bro.Common.Factory;
 using Bro.Common.Helper;
+using Bro.Common.PubSub;
 using Bro.UI.Model.Winform;
 using System;
 using System.Collections.Generic;
@@ -9,6 +10,7 @@
 using System.Threading.Tasks;
 using System.Windows.Forms;
 using WeifenLuo.WinFormsUI.Docking;
+using static Bro.Common.Helper.EnumHelper;
 
 namespace Bro.UI.Config.MenuForms
 {
@@ -20,6 +22,8 @@
         public FrmOperation()
         {
             InitializeComponent();
+            PubSubCenter.GetInstance().RemoveSubscribers(PubSubCenterMessageType.UpdateProductionCodes.ToString());
+            PubSubCenter.GetInstance().Subscribe(PubSubCenterMessageType.UpdateProductionCodes.ToString(), OnUpdateProductionCodes);
 
             LoadProcessCode();
             LoadProductionCode();
@@ -39,6 +43,12 @@
         #region Load Codes
         string _processCode = "";
         string _productionCode = "";
+
+        private object OnUpdateProductionCodes(ISubscriber arg1, object arg2, object arg3)
+        {
+            LoadProductionCode();
+            return null;
+        }
 
         private void LoadProcessCode()
         {
@@ -130,7 +140,7 @@
         }
 
         bool isStart = true;
-        private void btnStart_Click(object sender, System.EventArgs e)
+        private async void btnStart_Click(object sender, System.EventArgs e)
         {
             if (Process == null)
             {
@@ -147,11 +157,11 @@
                 //if (Process.ProcessState != EnumHelper.DeviceState.DSOpen)
                 if (isStart)
                 {
-                    ProcessOperation(true);
+                    await ProcessOperation(true);
                 }
                 else
                 {
-                    ProcessOperation(false);
+                    await ProcessOperation(false);
                 }
 
                 isStart = !isStart;
@@ -162,7 +172,8 @@
             }
             finally
             {
-                this.BeginInvoke(new Action(() => btnStart.Enabled = true));
+                //this.BeginInvoke(new Action(() => btnStart.Enabled = true));
+                btnStart.Enabled = true;
             }
             //});
         }
@@ -245,11 +256,11 @@
         //    }
         //}
 
-        private void ProcessOperation(bool isStart)
+        private async Task ProcessOperation(bool isStart)
         {
             if (isStart)
             {
-                Process.Open();
+                await Task.Run(() => Process.Open());
 
                 //this.BeginInvoke(new Action(() =>
                 //{
@@ -263,7 +274,7 @@
             }
             else
             {
-                Process.Close();
+                await Task.Run(() => Process.Close());
 
                 //this.BeginInvoke(new Action(() =>
                 //{

--
Gitblit v1.8.0