From 2029e64ec0491f7e511dc15bffaf821bfbabe2de Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 20 七月 2020 14:10:22 +0800
Subject: [PATCH] 上传一个很特别的新版本

---
 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/MiniGatewaySearchForm.cs |   55 +++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 35 insertions(+), 20 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/MiniGatewaySearchForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/MiniGatewaySearchForm.cs
index a2268ae..f19425c 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/MiniGatewaySearchForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/MiniGatewaySearchForm.cs
@@ -266,7 +266,7 @@
                         break;
                     }
 
-                    Application.RunOnMainThread(() =>
+                    HdlThreadLogic.Current.RunMain(() =>
                     {
                         btnRound.X = listPoint[index];
                         index++;
@@ -276,14 +276,15 @@
                         }
                         //姝e湪鎼滅储缃戝叧鈥Xs
                         btnMsg.Text = strMsg + timeOut + "s";
-                    });
+                    }, ShowErrorMode.NO);
 
                     System.Threading.Thread.Sleep(500);
                 }
                 //鎼滅储缁撴潫
                 this.isGatewaySearching = false;
 
-                if (timeOut <= 0)
+                //2020.07.14杩藉姞:鍊掕鏃剁粨鏉熸椂,鍝�曟槸宸茬粡缁戝畾浜嗙殑缃戝叧,涔熸樉绀哄嚭鏉�
+                if (timeOut <= 0 && listZbGateway.Count == 0)
                 {
                     HdlThreadLogic.Current.RunMain(() =>
                     {
@@ -291,7 +292,7 @@
                         this.InitFailMiddleFrame();
                     });
                 }
-                else if (newGatewayGetting == true)
+                else if (newGatewayGetting == true || listZbGateway.Count > 0)
                 {
                     HdlThreadLogic.Current.RunMain(() =>
                     {
@@ -357,21 +358,30 @@
                 }
 
                 //缃戝叧缁戝畾妯″紡
-                GatewayBindMode mode = GatewayBindMode.BindAgain;
-                //濡傛灉鏄涓�娆$粦瀹�,鎴栬�呮槸浠ュ墠宸茬粡缁戝畾杩囦簡鐨�
-                if (HdlGatewayLogic.Current.HomeIdIsEmpty(way) == true
-                    || way.HomeId == Common.Config.Instance.HomeId)
+                var mode = GatewayBindMode.BindAgain;
+                //浣忓畢ID涓虹┖ 绗竴娆$粦瀹�
+                if (HdlGatewayLogic.Current.HomeIdIsEmpty(way) == true)
                 {
-                    if (way.HomeId != Common.Config.Instance.HomeId)
-                    {
-                        //绗竴娆$粦瀹�,涔熷氨鏄綉鍏充綇瀹匢D涓虹┖
-                        mode = GatewayBindMode.First;
-                    }
-                    else
-                    {
-                        //宸茬粡缁戝畾杩囦簡
-                        mode = GatewayBindMode.Binded;
-                    }
+                    mode = GatewayBindMode.First;
+                }
+                //浣忓畢ID涓嶇浉绛� 闇�瑕侀噸鏂扮粦瀹�
+                else if (way.HomeId != Common.Config.Instance.HomeId)
+                {
+                    mode = GatewayBindMode.BindAgain;
+                }
+                //濡傛灉鏈湴涓嶅瓨鍦ㄧ殑璇�,褰撳仛绗竴娆$粦瀹氬鐞�
+                else if (HdlGatewayLogic.Current.IsGatewayExist(way) == false)
+                {
+                    mode = GatewayBindMode.First;
+                }
+                //浣忓畢ID涓�鏍�,鍒欐槸宸茬粡缁戝畾杩囦簡
+                else
+                {
+                    mode = GatewayBindMode.Binded;
+                }
+                //杩欎袱绉嶆儏鍐甸兘鏄渶瑕侀噸鏂版坊鍔�(宸茬粡缁戝畾杩囦簡鐨�,鏈夊彲鑳戒綇瀹匢D娌″啓杩涘幓,瀹冩湁鍙兘鏄汉涓虹殑娓呯┖浣忓畢ID)
+                if (mode == GatewayBindMode.First || mode == GatewayBindMode.Binded)
+                {
                     //娣诲姞鎼滅储鍒扮殑缃戝叧鍒扮紦瀛�(鎵ц缃戝叧淇濆瓨鎿嶄綔)
                     var result = await HdlGatewayLogic.Current.AddNewGateway(way, ShowErrorMode.NO);
                     if (result == false)
@@ -403,10 +413,15 @@
                     this.newGatewayGetting = true;
                 }
 
-                if (mode == GatewayBindMode.First|| mode == GatewayBindMode.Binded)
+                if (mode == GatewayBindMode.First || mode == GatewayBindMode.Binded)
                 {
                     //鎴戣寰楄繖閲岄渶瑕佽幏鍙栦竴涓嬫柊缃戝叧鐨勮澶囧垪琛�
-                    Common.LocalDevice.Current.SetDeviceToMemmoryByGateway(way);
+                    Common.LocalDevice.Current.SetDeviceToMemmoryByGateway(way, true);
+                    if (way.IsMainGateWay == true)
+                    {
+                        //濡傛灉瀹冩槸涓荤綉鍏�,鍒欏埛鏂板満鏅垪琛�
+                        HdlSceneLogic.Current.RefreshSceneUIList(true);
+                    }
                 }
             }
             return true;

--
Gitblit v1.8.0