From c7df85937f73fb347ee0b19e9c052d2d00a6df6c Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期五, 18 九月 2020 13:58:19 +0800
Subject: [PATCH] 新版本
---
ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewaySearchForm.cs | 65 +++++++++++++++++++-------------
1 files changed, 39 insertions(+), 26 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewaySearchForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewaySearchForm.cs
index 448ff57..9539160 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewaySearchForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Add/WiredGatewaySearchForm.cs
@@ -244,7 +244,7 @@
//鑾峰彇寰楀埌鏂扮綉鍏�,鍒欎腑鏂嚎绋�
break;
}
- Application.RunOnMainThread(() =>
+ HdlThreadLogic.Current.RunMain(() =>
{
btnRound.X = listPoint[index];
index++;
@@ -254,12 +254,13 @@
}
//姝e湪鎼滅储缃戝叧鈥Xs
btnMsg.Text = strMsg + timeCount + "s";
- });
+ }, ShowErrorMode.NO);
}
//鎼滅储缁撴潫
this.isGatewaySearching = false;
- if (maxCount <= 0)
+ //2020.07.14杩藉姞:鍊掕鏃剁粨鏉熸椂,鍝�曟槸宸茬粡缁戝畾浜嗙殑缃戝叧,涔熸樉绀哄嚭鏉�
+ if (maxCount <= 0 && listZbGateway.Count == 0)
{
HdlThreadLogic.Current.RunMain(() =>
{
@@ -267,7 +268,7 @@
this.InitFailMiddleFrame();
});
}
- else if (newGatewayGetting == true)
+ else if (newGatewayGetting == true || listZbGateway.Count > 0)
{
HdlThreadLogic.Current.RunMain(() =>
{
@@ -291,10 +292,10 @@
private void StartCheckGatewayThread()
{
this.isGatewaySearching = true;
- HdlThreadLogic.Current.RunThread(async () =>
+ HdlThreadLogic.Current.RunThread(() =>
{
//娓呯┖鍏ㄩ儴鍒楄〃
- HdlGatewayLogic.Current.ClearAllRealGateway();
+ HdlGatewayLogic.Current.ClearAllRealGatewayConection(true);
ZigBee.Common.Application.IsSearchingGateway = true;
int count = 0;
@@ -310,7 +311,7 @@
}
count = 0;
- await this.CheckZbGatewayAndSetRow();
+ this.CheckZbGatewayAndSetRow();
if (this.newGatewayGetting == true)
{
@@ -324,7 +325,7 @@
/// <summary>
/// 妫�娴嬫悳绱㈠埌鐨勭綉鍏筹紝鐒跺悗娣诲姞鍒扮敾闈㈢殑琛岄噷闈�
/// </summary>
- private async Task<bool> CheckZbGatewayAndSetRow()
+ private bool CheckZbGatewayAndSetRow()
{
List<string> listId = new List<string>();
for (int i = 0; i < ZbGateway.GateWayList.Count; i++)
@@ -363,25 +364,32 @@
}
//缃戝叧缁戝畾妯″紡
- 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)
+ {
//娣诲姞鎼滅储鍒扮殑缃戝叧鍒扮紦瀛�(鎵ц缃戝叧淇濆瓨鎿嶄綔)
- ShowErrorMode showMode = this.dicIdCheckCount[listId[i]] == 0 ? ShowErrorMode.YES : ShowErrorMode.NO;
- var result = await HdlGatewayLogic.Current.AddNewGateway(way, ShowErrorMode.NO);
+ var result = HdlGatewayLogic.Current.AddNewGateway(way, ShowErrorMode.NO);
if (result == false)
{
continue;
@@ -416,7 +424,12 @@
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