From f1c3921b08bb22ac6f5db22d620e01d7e8e5c49f Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期一, 30 十二月 2019 13:32:33 +0800
Subject: [PATCH] 2019-12-30-1

---
 ZigbeeApp/Shared/Common/Device.cs |   36 +++++++++++++++++++++++++++++++-----
 1 files changed, 31 insertions(+), 5 deletions(-)

diff --git a/ZigbeeApp/Shared/Common/Device.cs b/ZigbeeApp/Shared/Common/Device.cs
index 5e8b4ad..7259cdb 100755
--- a/ZigbeeApp/Shared/Common/Device.cs
+++ b/ZigbeeApp/Shared/Common/Device.cs
@@ -454,6 +454,11 @@
                 }
                 //澶囦唤鏁版嵁
                 await HdlGatewayLogic.Current.UpLoadDeviceBackupDataToGateway(device, GatewayBackupEnum.AMac鍚嶇О, newMacName);
+                //濡傛灉瀹冨彧鏈変竴涓洖璺�,鍒欐洿鏀圭鐐瑰悕瀛�
+                if (this.dicDeviceEpoint.ContainsKey(device.DeviceAddr) == true && this.dicDeviceEpoint[device.DeviceAddr].Count == 1)
+                {
+                    return await this.ReName(device, newMacName);
+                }
             }
             return true;
         }
@@ -739,6 +744,20 @@
                 return -1;
             });
             return list;
+        }
+
+        /// <summary>
+        /// 鏍规嵁MAC鍦板潃,鑾峰彇鍏ㄩ儴鍥炶矾鐨勬暟閲�
+        /// </summary>
+        /// <param name="DeviceAddr">Mac鍦板潃</param>
+        /// <returns></returns>
+        public int GetDevicesCountByMac(string DeviceAddr)
+        {
+            if (dicDeviceEpoint.ContainsKey(DeviceAddr) == false)
+            {
+                return 0;
+            }
+            return dicDeviceEpoint[DeviceAddr].Count;
         }
 
         /// <summary>
@@ -1505,18 +1524,25 @@
         /// </summary>
         /// <param name="listDevice">闇�瑕佷繚瀛樼殑璁惧瀵硅薄</param>
         /// <param name="roomId">闇�瑕佷繚瀛樼殑鍝釜璁惧鐨勬埧闂碔D</param>
-        public void SaveRealDeviceRoomId(List<CommonDevice> listDevice, string roomId)
+        /// <param name="saveRoadDevice">濡傛灉鍙湁涓�涓洖璺�,鏄惁鎶婂洖璺殑鎴块棿涓�璧蜂慨鏀�</param>
+        public void SaveRealDeviceRoomId(List<CommonDevice> listDevice, string roomId, bool saveRoadDevice = true)
         {
-            this.dicDeviceRoomId[listDevice[0].DeviceAddr] = roomId;
+            if (listDevice != null)
+            {
+                this.dicDeviceRoomId[listDevice[0].DeviceAddr] = roomId;
+            }
 
             //淇濆瓨璁板綍
             string fullName = UserCenterLogic.CombinePath(DirNameResourse.DeviceRoomIdFile);
             UserCenterLogic.SaveFileContent(fullName, this.dicDeviceRoomId);
 
+            //娣诲姞鑷姩澶囦唤
+            HdlAutoBackupLogic.AddOrEditorFile(DirNameResourse.DeviceRoomIdFile);
+
             //濡傛灉璁惧鍙湁涓�涓洖璺紝濡傛灉鏀瑰彉浜嗙湡瀹炶澶囧尯鍩燂紝鍒欏畠鐨勫洖璺殑鍖哄煙涔熶竴璧锋敼浜�
-            if (listDevice.Count == 1)
+            if (saveRoadDevice == true && listDevice != null && listDevice.Count == 1)
             {
-                Common.Room.CurrentRoom.ChangedRoom(listDevice[0], roomId);
+                Common.Room.CurrentRoom.ChangedRoom(listDevice[0], roomId, false);
             }
         }
 
@@ -1796,7 +1822,7 @@
                         string msg = Language.StringByID(R.MyInternationalizationString.uGetDeviceListFail);
                         msg += "\r\n[" + HdlGatewayLogic.Current.GetGatewayName(zbGateway).ToString() + "]";
                         msg = UserCenterLogic.CombineGatewayTimeOutMsg(msg, null, "鍥炲瓒呮椂", false);
-                        this.ShowErrorMsg(msg);
+                        this.ShowTipMsg(msg);
                     }
                     return null;
                 }

--
Gitblit v1.8.0