From 9ef48d7b2da7c408b53f73be0f6eef3cbac1c84a Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期四, 19 十一月 2020 10:23:45 +0800
Subject: [PATCH] Evoyo.Home1.1.0120111601_Release

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

diff --git a/ZigbeeApp/Shared/Common/Device.cs b/ZigbeeApp/Shared/Common/Device.cs
index 4d1050a..ff806cc 100755
--- a/ZigbeeApp/Shared/Common/Device.cs
+++ b/ZigbeeApp/Shared/Common/Device.cs
@@ -81,10 +81,6 @@
         /// 璁惧鐨勬�诲洖璺�(keys:Mac鍦板潃  value:鍏ㄩ儴绔彛鍙�)
         /// </summary>
         private Dictionary<string, HashSet<int>> dicDeviceEpoint = new Dictionary<string, HashSet<int>>();
-        /// <summary>
-        /// 鐗╃悊璁惧灞炰簬鍝釜鎴块棿鐨勮褰�
-        /// </summary>
-        private Dictionary<string, string> dicDeviceRoomId = null;
 
         #endregion
 
@@ -188,7 +184,7 @@
             //鎴愬憳韬唤鐨勬椂鍊�,鍒犻櫎鎺夐潪娉曠殑缃戝叧鏂囦欢
             this.DeleteGatewayFileByMemberModel();
             //鍒濆鍖栫墿鐞嗚澶囨墍灞炴埧闂寸殑璁板綍
-            this.InitRealDeviceRoomId();
+            HdlRoomLogic.Current.InitRealDeviceRoomId();
 
 #if DEBUG
             if (UserCenterResourse.HideOption.CenterHideMenu == 1)
@@ -363,7 +359,7 @@
             if (listDeleteMac.Count > 0)
             {
                 //灏嗙湡瀹炵墿鐞嗚澶囦粠鎴块棿涓Щ闄�
-                this.DeleteRealDeviceFromRoom(listDeleteMac);
+                HdlRoomLogic.Current.DeleteRealDeviceFromRoom(listDeleteMac);
             }
 
             return statu;
@@ -792,13 +788,9 @@
             {
                 this.DeleteMemmoryDevice(device);
             }
+            //绉婚櫎鐪熷疄璁惧鐨勬埧闂寸储寮�
+            HdlRoomLogic.Current.DeleteRealDeviceFromRoom(listdevice[0]);
 
-            if (this.dicDeviceRoomId.ContainsKey(listdevice[0].DeviceAddr) == true)
-            {
-                //绉婚櫎鐪熷疄璁惧鐨勬埧闂寸储寮�
-                this.dicDeviceRoomId.Remove(listdevice[0].DeviceAddr);
-                this.SaveRealDeviceRoomId(null, null);
-            }
             return true;
         }
 
@@ -2449,176 +2441,6 @@
                 info.ConcreteType = DeviceConcreteType.Sensor_DoorWindow;
                 info.ConcreteText = Language.StringByID(R.MyInternationalizationString.uSensorDoorWindow);
             }
-        }
-
-        #endregion
-
-        #region 鈻� 鐗╃悊璁惧鎵�灞炴埧闂確__________________
-
-        /// <summary>
-        /// 鍒濆鍖栫墿鐞嗚澶囨墍灞炴埧闂寸殑璁板綍
-        /// </summary>
-        private void InitRealDeviceRoomId()
-        {
-            this.dicDeviceRoomId = new Dictionary<string, string>();
-            string fullName = DirNameResourse.DeviceRoomIdFile;
-            var strData = HdlFileLogic.Current.ReadFileTextContent(fullName);
-            if (strData != null)
-            {
-                this.dicDeviceRoomId = Newtonsoft.Json.JsonConvert.DeserializeObject<Dictionary<string, string>>(strData);
-            }
-        }
-
-        /// <summary>
-        /// 鑾峰彇鍏ㄩ儴鐗╃悊璁惧鎵�灞炴埧闂寸殑璁板綍
-        /// </summary>
-        /// <returns></returns>
-        public Dictionary<string, string> GetAllRealDeviceRoomData()
-        {
-            return this.dicDeviceRoomId;
-        }
-
-        /// <summary>
-        /// 淇濆瓨鐗╃悊璁惧鎵�灞炴埧闂寸殑璁板綍
-        /// </summary>
-        /// <param name="listDevice">闇�瑕佷繚瀛樼殑璁惧瀵硅薄</param>
-        /// <param name="roomId">闇�瑕佷繚瀛樼殑鍝釜璁惧鐨勬埧闂碔D</param>
-        /// <param name="saveRoadDevice">濡傛灉鍙湁涓�涓洖璺�,鏄惁鎶婂洖璺殑鎴块棿涓�璧蜂慨鏀�</param>
-        public void SaveRealDeviceRoomId(List<CommonDevice> listDevice, string roomId, bool saveRoadDevice = true)
-        {
-            if (listDevice == null || listDevice.Count == 0)
-            {
-                return;
-            }
-            //濡傛灉璁惧鍙湁涓�涓洖璺紝濡傛灉鏀瑰彉浜嗙湡瀹炶澶囧尯鍩燂紝鍒欏畠鐨勫洖璺殑鍖哄煙涔熶竴璧锋敼浜�
-            if (saveRoadDevice == true && listDevice.Count == 1)
-            {
-                if ((listDevice[0] is OTADevice) == false)
-                {
-                    //ota璁惧涓嶉渶瑕佸鐞�
-                    HdlRoomLogic.Current.ChangedRoom(listDevice[0], roomId, false);
-                }
-            }
-            bool save = false;
-            if (roomId == string.Empty)
-            {
-                //閫夋嫨鐨勬槸鏈垎閰�
-                this.dicDeviceRoomId.Remove(listDevice[0].DeviceAddr);
-                save = true;
-            }
-            else
-            {
-                if (this.dicDeviceRoomId.ContainsKey(listDevice[0].DeviceAddr) == false)
-                {
-                    this.dicDeviceRoomId[listDevice[0].DeviceAddr] = roomId;
-                    save = true;
-                }
-                else
-                {
-                    //2020.05.18杩藉姞:濡傛灉璁板綍鐨勬埧闂碔D鏄笉瀛樺湪鐨勮瘽,鍒欓噸鏂拌鐩�
-                    var room = HdlRoomLogic.Current.GetRoomById(this.dicDeviceRoomId[listDevice[0].DeviceAddr]);
-                    if (room == null || this.dicDeviceRoomId[listDevice[0].DeviceAddr] != roomId)
-                    {
-                        this.dicDeviceRoomId[listDevice[0].DeviceAddr] = roomId;
-                        save = true;
-                    }
-                }
-            }
-
-            if (save == true)
-            {
-                //淇濆瓨璁板綍
-                HdlFileLogic.Current.SaveFileContent(DirNameResourse.DeviceRoomIdFile, this.dicDeviceRoomId);
-
-                //娣诲姞鑷姩澶囦唤
-                HdlAutoBackupLogic.AddOrEditorFile(DirNameResourse.DeviceRoomIdFile);
-            }
-        }
-
-        /// <summary>
-        /// 鑾峰彇鐪熷疄鐗╃悊璁惧鐨勬埧闂村悕瀛�
-        /// </summary>
-        /// <param name="device">璁惧鐨勬煇涓�涓洖璺�</param>
-        /// <returns></returns>
-        public string GeteRealDeviceRoomName(CommonDevice device)
-        {
-            if (this.dicDeviceRoomId.ContainsKey(device.DeviceAddr) == false)
-            {
-                //鏈垎閰嶅尯鍩�
-                return Language.StringByID(R.MyInternationalizationString.uDeviceNotAssignedRoom);
-            }
-            var room = HdlRoomLogic.Current.GetRoomById(this.dicDeviceRoomId[device.DeviceAddr]);
-            return HdlRoomLogic.Current.GetRoomName(room);
-        }
-
-        /// <summary>
-        /// 鑾峰彇鐪熷疄鐗╃悊璁惧灞炰簬鍝釜鎴块棿
-        /// </summary>
-        /// <param name="device">璁惧鐨勬煇涓�涓洖璺�</param>
-        /// <returns></returns>
-        public Room GeteRealDeviceRoom(CommonDevice device)
-        {
-            if (this.dicDeviceRoomId.ContainsKey(device.DeviceAddr) == false)
-            {
-                return null;
-            }
-            return HdlRoomLogic.Current.GetRoomById(this.dicDeviceRoomId[device.DeviceAddr]);
-        }
-
-        /// <summary>
-        /// 灏嗙湡瀹炵墿鐞嗚澶囦粠鎴块棿涓Щ闄�
-        /// </summary>
-        /// <param name="device">闅忎究涓�涓洖璺�</param>
-        public void DeleteRealDeviceFromRoom(CommonDevice device)
-        {
-            //灏嗙湡瀹炵墿鐞嗚澶囦粠鎴块棿涓Щ闄�
-            this.DeleteRealDeviceFromRoom(new List<string>() { device.DeviceAddr });
-        }
-
-        /// <summary>
-        /// 灏嗙湡瀹炵墿鐞嗚澶囦粠鎴块棿涓Щ闄�
-        /// </summary>
-        /// <param name="listMac">璁惧Mac鍦板潃</param>
-        public void DeleteRealDeviceFromRoom(List<string> listMac)
-        {
-            bool save = false;
-            foreach (var deviceMacAddr in listMac)
-            {
-                if (this.dicDeviceRoomId.ContainsKey(deviceMacAddr) == true)
-                {
-                    this.dicDeviceRoomId.Remove(deviceMacAddr);
-                    save = true;
-                }
-            }
-            if (save == false)
-            {
-                //娌℃湁鏀瑰彉,涓嶉渶瑕佷繚瀛�
-                return;
-            }
-            //淇濆瓨璁板綍
-            HdlFileLogic.Current.SaveFileContent(DirNameResourse.DeviceRoomIdFile, this.dicDeviceRoomId);
-
-            //娣诲姞鑷姩澶囦唤
-            HdlAutoBackupLogic.AddOrEditorFile(DirNameResourse.DeviceRoomIdFile);
-        }
-
-        /// <summary>
-        /// 鏍规嵁鎴块棿ID,绉婚櫎鎸囧畾鐨勭湡瀹炵墿鐞嗚澶囩殑鎵�灞炴埧闂磋褰�
-        /// </summary>
-        /// <param name="i_RoomId"></param>
-        public void DeleteRealDeviceByRoomId(string i_RoomId)
-        {
-            var listDeleteKey = new List<string>();
-            foreach (var deviceAddr in this.dicDeviceRoomId.Keys)
-            {
-                if (this.dicDeviceRoomId[deviceAddr] == i_RoomId
-                    && listDeleteKey.Contains(deviceAddr) == false)
-                {
-                    listDeleteKey.Add(deviceAddr);
-                }
-            }
-            //灏嗙湡瀹炵墿鐞嗚澶囦粠鎴块棿涓Щ闄�
-            this.DeleteRealDeviceFromRoom(listDeleteKey);
         }
 
         #endregion

--
Gitblit v1.8.0