From 48ba446936b51fffafa7c3600c0dadc6ac0e8c20 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 10 七月 2020 10:52:13 +0800
Subject: [PATCH] 2020-07-10-01

---
 ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayListForm.cs |   67 ++++++++++++++++++++-------------
 1 files changed, 41 insertions(+), 26 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayListForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayListForm.cs
index 05a06bb..74055ac 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayListForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/Gateway/Manage/GatewayListForm.cs
@@ -95,15 +95,12 @@
             for (int i = 0; i < listway.Count; i++)
             {
                 //娣诲姞琛�
-                var gwId = HdlGatewayLogic.Current.GetGatewayId(listway[i]);
-                this.AddRowLayout(gwId, i != listway.Count - 1);
+                this.AddRowLayout(listway[i].GwId, i != listway.Count - 1);
             }
 
             //璋冩暣鍒楄〃鎺т欢鐨勯珮搴�
             this.listview.AdjustRealHeight(Application.GetRealHeight(23));
 
-            //璁剧疆鎺ュ彈鍦ㄧ嚎鐘舵�佹帹閫�
-            this.AddGatewayOnlinePush();
             //寮�鍚綉鍏冲湪绾跨洃娴嬬殑绾跨▼
             this.StartGatewayOnlieCheckThread(listway);
         }
@@ -133,11 +130,18 @@
             //鎻愮ず鏂扮増鏈�
             var btnNew = new InformationTipView(gatewayRow.btnIcon);
             btnNew.Visible = false;
-            gatewayRow.frameTable.AddChidren(btnNew, ChidrenBindMode.BindEventOnly);
+            gatewayRow.frameTable.AddChidren(btnNew, ChidrenBindMode.BindEvent);
             gatewayRow.AddTag("btnNew", btnNew);
             //鍗曞嚮浜嬩欢
             gatewayRow.frameTable.ButtonClickEvent += (sender, e) =>
             {
+                if (UserCenterResourse.HideOption.GotoGatewayProductInfoForm == 1)
+                {
+                    //寮哄埗璺宠浆
+                    var form2 = new GatewayProductInfoForm();
+                    form2.AddForm(gateway);
+                    return;
+                }
                 var form = new GatewayInfoEditorForm();
                 form.AddForm(gateway);
             };
@@ -174,13 +178,8 @@
             };
 
             //瀹氫綅
-            var btnPosition = new NormalViewControl(Application.GetRealWidth(184), gatewayRow.Height, false);
-            btnPosition.BackgroundColor = 0xff4a4a4a;
-            btnPosition.TextAlignment = TextAlignment.Center;
-            btnPosition.TextColor = UserCenterColor.Current.White;
-            btnPosition.TextSize = 12;
+            var btnPosition = gatewayRow.AddEditorControl(false);
             btnPosition.TextID = R.MyInternationalizationString.uFixedPosition;
-            gatewayRow.AddRightView(btnPosition);
             btnPosition.ButtonClickEvent += (sender, e) =>
             {
                 //鍙戦�佸畾浣嶅懡浠�
@@ -205,7 +204,10 @@
                 }
                 this.ShowMassage(ShowMsgType.Confirm, msg, () =>
                 {
-                    this.DeleteGateway(strWayId, gatewayRow);
+                    HdlThreadLogic.Current.RunThread(() =>
+                    {
+                        this.DeleteGateway(strWayId, gatewayRow);
+                    });
                 });
             };
 
@@ -214,6 +216,16 @@
             if (string.IsNullOrEmpty(GatewayResourse.AppOldSelectGatewayId) == true)
             {
                 HdlGatewayLogic.Current.SaveGatewayIdToLocation(strWayId);
+            }
+
+            //褰撳墠缃戝叧鐨勮鏍�
+            if (strWayId == GatewayResourse.AppOldSelectGatewayId)
+            {
+                var btnNow = new IconViewControl(52);
+                btnNow.Y = Application.GetMinReal(23) + gatewayRow.frameTable.chidrenYaxis;
+                btnNow.UnSelectedImagePath = "Item/NowAcctionTip.png";
+                btnNow.X = gatewayRow.btnName.X + gatewayRow.btnName.GetRealWidthByText();
+                gatewayRow.frameTable.AddChidren(btnNow, ChidrenBindMode.BindEvent);
             }
         }
 
@@ -228,8 +240,12 @@
         /// <param name="row"></param>
         private async void DeleteGateway(string strWayId, GatewayRowControl row)
         {
+            //鎵撳紑杩涘害鏉�
+            this.ShowProgressBar();
             //鍒犻櫎浜戠缃戝叧
             bool result = await HdlGatewayLogic.Current.DeleteGateway(strWayId);
+            //鍏抽棴杩涘害鏉�
+            this.CloseProgressBar();
             if (result == false)
             {
                 return;
@@ -241,13 +257,11 @@
                 this.closeDeviceManagForm = true;
                 HdlGatewayLogic.Current.SaveGatewayIdToLocation(string.Empty);
             }
-
-            //绉婚櫎
-            if (this.dicRowContr.ContainsKey(strWayId) == true)
+            HdlThreadLogic.Current.RunMain(() =>
             {
-                this.dicRowContr.Remove(strWayId);
-            }
-            row?.RemoveFromParent();
+                //鍒濆鍖栦腑閮ㄦ帶浠�
+                this.InitMiddleFrame();
+            });
         }
 
         #endregion
@@ -282,7 +296,7 @@
                     //鍏抽棴鐣岄潰
                     this.CloseForm();
                     //鍒锋柊涓荤敾闈�(涓嶉噸鏂拌幏鍙栬澶囩姸鎬�)
-                    this.LoadFormMethodByName("DeviceListMainForm", "InitMiddleFrame", false);
+                    this.LoadFormMethodByName("DeviceListMainForm", "InitMiddleFrame");
                 }
             });
         }
@@ -325,7 +339,7 @@
                         return;
                     }
                     bool online = HdlGatewayLogic.Current.CheckGatewayOnlineByFlag(way);
-                    this.GatewayOnlinePush(way, online);
+                    this.GatewayOnlinePush(way, online, true);
                 }
                 //缃戝叧鏂扮増鏈娴�
                 this.CheckGatewayNewVersion(listway);
@@ -337,7 +351,8 @@
         /// </summary>
         /// <param name="gateWay">缃戝叧瀵硅薄</param>
         /// <param name="online">鍦ㄧ嚎鐘舵�佸彉鏇村悗鐨勭姸鎬�</param>
-        public override void GatewayOnlinePush(ZbGateway gateWay, bool online)
+        /// <param name="hadGwOnline">2020.05.25杩藉姞:姝や綇瀹呮槸鍚︽嫢鏈夌綉鍏冲湪绾�</param>
+        public override void GatewayOnlinePush(ZbGateway gateWay, bool online, bool hadGwOnline)
         {
             Application.RunOnMainThread(() =>
             {
@@ -345,10 +360,10 @@
                 {
                     return;
                 }
-                string gwid = HdlGatewayLogic.Current.GetGatewayId(gateWay);
+                string gwid = gateWay.GwId;
                 if (this.dicRowContr.ContainsKey(gwid) == true && this.dicRowContr[gwid] != null)
                 {
-                    this.dicRowContr[gwid].RefreshControl(gateWay);
+                    this.dicRowContr[gwid].IsOnline = online;
                 }
             });
         }
@@ -383,7 +398,7 @@
                 if (result[0] != null || result[1] != null || result[2] != null)
                 {
                     //鏈夋柊鐗堟湰
-                    string gwid = HdlGatewayLogic.Current.GetGatewayId(way);
+                    string gwid = way.GwId;
                     Application.RunOnMainThread(() =>
                     {
                         if (this.dicRowContr.ContainsKey(gwid) == true && this.dicRowContr[gwid] != null)
@@ -406,9 +421,9 @@
         /// <summary>
         /// 鐢婚潰鍏抽棴
         /// </summary>
-        public override void CloseForm()
+        public override void CloseFormBefore()
         {
-            base.CloseForm();
+            base.CloseFormBefore();
 
             if (this.closeDeviceManagForm == true)
             {

--
Gitblit v1.8.0