From a4d525d08da7b6fb985b0069c539c11b06306a9b Mon Sep 17 00:00:00 2001
From: WJC <wjc@hdlchina.com.cn>
Date: 星期三, 13 十一月 2019 16:28:34 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev-tzy' into dev-wjc

---
 ZigbeeApp/Shared/Common/Device.cs |   30 ++++++++++++++++++++++++++----
 1 files changed, 26 insertions(+), 4 deletions(-)

diff --git a/ZigbeeApp/Shared/Common/Device.cs b/ZigbeeApp/Shared/Common/Device.cs
index 5e8b4ad..2139b8b 100755
--- a/ZigbeeApp/Shared/Common/Device.cs
+++ b/ZigbeeApp/Shared/Common/Device.cs
@@ -251,7 +251,7 @@
                 //娣诲姞缂撳瓨
                 this.AddDeviceToMemory(ref device);
 
-                //绉婚櫎瀛樺湪鐨勮澶囧唴瀛� 
+                //绉婚櫎瀛樺湪鐨勮澶囧唴瀛�
                 string maikey = this.GetDeviceMainKeys(device);
                 if (dicExist.ContainsKey(maikey) == true)
                 {
@@ -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>
@@ -1507,14 +1526,17 @@
         /// <param name="roomId">闇�瑕佷繚瀛樼殑鍝釜璁惧鐨勬埧闂碔D</param>
         public void SaveRealDeviceRoomId(List<CommonDevice> listDevice, string roomId)
         {
-            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);
 
             //濡傛灉璁惧鍙湁涓�涓洖璺紝濡傛灉鏀瑰彉浜嗙湡瀹炶澶囧尯鍩燂紝鍒欏畠鐨勫洖璺殑鍖哄煙涔熶竴璧锋敼浜�
-            if (listDevice.Count == 1)
+            if (listDevice != null && listDevice.Count == 1)
             {
                 Common.Room.CurrentRoom.ChangedRoom(listDevice[0], roomId);
             }
@@ -1796,7 +1818,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