From dc0309e64f02227d8e1468b7326c07955f804612 Mon Sep 17 00:00:00 2001
From: chenqiyang <1406175257@qq.com>
Date: 星期三, 22 六月 2022 11:22:18 +0800
Subject: [PATCH] 修改引用路径

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs |   48 +++++++++++++++++++++++++++---------------------
 1 files changed, 27 insertions(+), 21 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs
index 4513675..b261ec2 100644
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlGatewayLogic.cs
@@ -33,10 +33,6 @@
             }
         }
         /// <summary>
-        /// 澶囦唤鐢ㄧ殑缃戝叧ID
-        /// </summary>
-        private List<string> listBackupGwId = new List<string>();
-        /// <summary>
         /// 缃戝叧鏂囦欢鐨勫墠缂�鍚嶅瓧
         /// </summary>
         private string gwFirstName = "Gateway_";
@@ -117,7 +113,7 @@
                 return;
             }
 
-            List<string> listBackupGwId = new List<string>();
+            var listBackupGwId = new List<string>();
             var fileData = HdlFileLogic.Current.ReadFileByteContent(DirNameResourse.BackupGatewayIdFile);
             if (fileData != null)
             {
@@ -1497,7 +1493,7 @@
         /// <param name="saveFile">鏄惁淇濆瓨鏂囦欢</param>
         private void SetGatewayDataToLocalMemmory(ZbGateway localWay, ZbGatewayData.GetGwData data, bool saveFile = true)
         {
-            if (data == null) { return; }
+            if (localWay == null || data == null) { return; }
 
             localWay.GwId = data.GwId;
             localWay.GwName = data.GwName;
@@ -2049,10 +2045,16 @@
         /// <param name="zbGateway"></param>
         public void BackupGatewayIdOnNotNetwork(ZbGateway zbGateway)
         {
-            var strId = zbGateway.GwId;
-            if (listBackupGwId.Contains(strId) == false)
+            var listBackupGwId = new List<string>();
+            var fileData = HdlFileLogic.Current.ReadFileByteContent(DirNameResourse.BackupGatewayIdFile);
+            if (fileData != null)
             {
-                listBackupGwId.Add(strId);
+                listBackupGwId = JsonConvert.DeserializeObject<List<string>>(System.Text.Encoding.UTF8.GetString(fileData));
+            }
+
+            if (listBackupGwId.Contains(zbGateway.GwId) == false)
+            {
+                listBackupGwId.Add(zbGateway.GwId);
 
                 //澶囦唤
                 HdlFileLogic.Current.SaveFileContent(DirNameResourse.BackupGatewayIdFile, listBackupGwId);
@@ -2069,9 +2071,9 @@
             {
                 return true;
             }
-            this.listBackupGwId = Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>>(System.Text.Encoding.UTF8.GetString(fileData));
+            var listBackupGwId = Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>>(System.Text.Encoding.UTF8.GetString(fileData));
             var listTempId = new List<string>();
-            listTempId.AddRange(this.listBackupGwId);
+            listTempId.AddRange(listBackupGwId);
 
             //璋冪敤鎺ュ彛锛岀粦瀹氱綉鍏�
             var bindGateway = new BindGatewayPra();
@@ -2080,20 +2082,24 @@
 
             foreach (var gwId in listTempId)
             {
-                bindGateway.BindGateways.Clear();
-                bindGateway.BindGateways.Add(gwId);
-                var result = UserCenterLogic.GetResultCodeByRequestHttps("App/BindGatewayToHome", true, bindGateway, new List<string> { "NotCheck" }, false);
-                if (result == "Success")
+                if (this.IsGatewayExist(gwId) == true)
                 {
-                    this.listBackupGwId.Remove(gwId);
+                    bindGateway.BindGateways.Clear();
+                    bindGateway.BindGateways.Add(gwId);
+                    var result = UserCenterLogic.GetResultCodeByRequestHttps("App/BindGatewayToHome", true, bindGateway, new List<string> { "NotCheck" }, false);
+                    if (result == "Success")
+                    {
+                        listBackupGwId.Remove(gwId);
+                    }
+                    if (result == "Error")
+                    {
+                        break;
+                    }
                 }
-                if (result == "Error")
-                {
-                    break;
-                }
+                listBackupGwId.Remove(gwId);
             }
 
-            if (this.listBackupGwId.Count == 0)
+            if (listBackupGwId.Count == 0)
             {
                 //濡傛灉娌℃湁浜嗗唴瀹�,鍒欏垹闄ゆ枃浠�
                 string file = DirNameResourse.BackupGatewayIdFile;

--
Gitblit v1.8.0