From 4cb676856f0c791ffcbef569c0ca8195bf8b0938 Mon Sep 17 00:00:00 2001
From: wells.liu <wells.liu@broconcentric.com>
Date: 星期六, 04 七月 2020 18:05:47 +0800
Subject: [PATCH] 数据库操作

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

diff --git a/src/Bro.UI.Config/MenuForms/FrmOperation.cs b/src/Bro.UI.Config/MenuForms/FrmOperation.cs
index 74ba196..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)
             {
@@ -140,16 +150,18 @@
 
             btnStart.Enabled = false;
 
+            //Task.Run(() =>
+            //{
             try
             {
                 //if (Process.ProcessState != EnumHelper.DeviceState.DSOpen)
-                if(isStart)
+                if (isStart)
                 {
-                    ProcessOperation(true);
+                    await ProcessOperation(true);
                 }
                 else
                 {
-                    ProcessOperation(false);
+                    await ProcessOperation(false);
                 }
 
                 isStart = !isStart;
@@ -160,8 +172,10 @@
             }
             finally
             {
+                //this.BeginInvoke(new Action(() => btnStart.Enabled = true));
                 btnStart.Enabled = true;
             }
+            //});
         }
 
         string _currentProcssCode = "";
@@ -242,27 +256,34 @@
         //    }
         //}
 
-        private void ProcessOperation(bool isStart)
+        private async Task ProcessOperation(bool isStart)
         {
             if (isStart)
             {
-                Process.Open();
+                await Task.Run(() => Process.Open());
 
+                //this.BeginInvoke(new Action(() =>
+                //{
                 btnStart.Text = "  鍋�  姝�";
                 btnStart.ImageIndex = 1;
                 btnStart.BackColor = Color.FromArgb(0x7f, Color.LimeGreen);
 
                 btnLoad.Enabled = false;
+                //}));
+
             }
             else
             {
-                Process.Close();
+                await Task.Run(() => Process.Close());
 
+                //this.BeginInvoke(new Action(() =>
+                //{
                 btnStart.Text = "  鍚�  鍔�";
                 btnStart.ImageIndex = 0;
                 btnStart.BackColor = SystemColors.Control;
 
                 btnLoad.Enabled = true;
+                //}));
             }
         }
     }

--
Gitblit v1.8.0