From 1f65fe366062b3f2cda6b03e1849afce6d2646f8 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期四, 17 十月 2019 13:47:37 +0800
Subject: [PATCH] 2019.10.17

---
 ZigbeeApp/Shared/Common/Room.cs |  106 +++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 95 insertions(+), 11 deletions(-)

diff --git a/ZigbeeApp/Shared/Common/Room.cs b/ZigbeeApp/Shared/Common/Room.cs
index f0492c4..64e0190 100644
--- a/ZigbeeApp/Shared/Common/Room.cs
+++ b/ZigbeeApp/Shared/Common/Room.cs
@@ -36,7 +36,7 @@
         /// 妤煎眰Id
         /// 鏂板鏃朵娇鐢℅uid
         /// </summary>
-        public string FloorId = "Floor1";
+        public string FloorId = string.Empty;
         /// <summary>
         /// 妤煎眰鍚嶇О
         /// </summary>
@@ -134,7 +134,7 @@
                 {
                     return new List<string> { };
                 }
-                return GetLoveRoom().DeviceUIFilePathList;
+                return CurrentRoom.GetLoveRoom().DeviceUIFilePathList;
             }
         }
 
@@ -349,7 +349,7 @@
         /// 鑾峰彇鍠滅埍鎴块棿
         /// </summary>
         /// <returns></returns>
-        public static Room GetLoveRoom()
+        public  Room GetLoveRoom()
         {
             return CurrentRoom.GetRoomById(LoveRoomId);
         }
@@ -462,7 +462,6 @@
             return Lists.Find((obj) => obj.Id == roomId);
         }
 
-
         /// <summary>
         /// 鏍规嵁鎴块棿鍚嶅瓧锛岃幏鍙栨埧闂村璞�
         /// </summary>
@@ -544,18 +543,53 @@
         }
 
         /// <summary>
-        /// 鑾峰彇澶氫釜鎴块棿鐨勮繛鎺ヨ捣鏉ョ殑鍚嶅瓧
+        /// 鑾峰彇褰撳墠妤煎眰鐨勬埧闂�
         /// </summary>
-        /// <param name="listName"></param>
+        /// <param name="id"></param>
         /// <returns></returns>
-        public string GetRoomName(List<string> listName)
+        public  List<Room> GetRoomsByFloorId(string id)
         {
-            if (listName.Count == 0)
+            return Lists.FindAll((obj) => obj.FloorId==id);
+        }
+        /// <summary>
+        /// 鑾峰彇褰撳墠妤煎眰鐨勬埧闂村悕绉�
+        /// </summary>
+        /// <param name="id"></param>
+        /// <returns></returns>
+        public  List<string> GetRoomNamesByFloorId(string id)
+        {
+            List<string> names = new List<string> { };
+            foreach(var r in Lists)
             {
-                //鏈垎閰嶅尯鍩�
-                return Language.StringByID(R.MyInternationalizationString.uDeviceNotAssignedRoom);
+                if(r.FloorId==id)
+                {
+                    names.Add(r.Name);
+                }
             }
-            return string.Join(",", listName);
+            return names;
+        }
+
+        /// <summary>
+        /// 鑾峰彇褰撳墠妤煎眰鐨勬埧闂�(鎷兼帴浜嗐�愬父鐢ㄣ�戝湪绗竴浣�)
+        /// </summary>
+        /// <param name="id"></param>
+        /// <returns></returns>
+        public  List<Room> GetRoomsByFloorIdAppendLoveRoom(string id)
+        {
+            var r= Lists.FindAll((obj) => obj.FloorId == id);
+            r.Insert(0, GetLoveRoom());
+            return r;
+        }
+
+        /// <summary>
+        /// 鑾峰彇褰撳墠妤煎眰鐨勬埧闂�(鎷兼帴浜嗐�愬父鐢ㄣ�戝湪绗竴浣�)
+        /// </summary>
+        /// <returns></returns>
+        public  List<Room> GetRoomsByCurrentFloorIdAppendLoveRoom()
+        {
+            var r = Lists.FindAll((obj) => obj.FloorId == Config.Instance.Home.CurrentFloorId);
+            r.Insert(0, GetLoveRoom());
+            return r;
         }
 
         #endregion
@@ -864,6 +898,56 @@
             return Common.LocalDevice.Current.SortDevice(listDevice);
         }
 
+        /// <summary>
+        /// 鑾峰彇鎴块棿璁惧绫诲瀷
+        /// </summary>
+        /// <param name="room"></param>
+        /// <returns></returns>
+        public static List<DeviceType> GetdeviceTypes(Room room)
+        {
+            List<DeviceType> typeList = new List<DeviceType> { };
+            foreach (var deviceUI in room.DeviceUIList)
+            {
+                if (deviceUI == null || deviceUI.CommonDevice == null)
+                {
+                    continue;
+                }
+                if (!typeList.Contains(deviceUI.CommonDevice.Type))
+                {
+                    typeList.Add(deviceUI.CommonDevice.Type);
+                }
+            }
+            return typeList;
+        }
+
+        /// <summary>
+        /// 鑾峰彇璇ョ被鍨嬬殑璁惧
+        /// </summary>
+        /// <param name="room"></param>
+        /// <param name="deviceType"></param>
+        /// <returns></returns>
+        public static List<DeviceUI> GetDeviceUIs(Room room ,DeviceType deviceType)
+        {
+            List<DeviceUI> typeList = new List<DeviceUI> { };
+            foreach (var deviceUI in room.DeviceUIList)
+            {
+                if (deviceUI == null || deviceUI.CommonDevice == null)
+                {
+                    continue;
+                }
+                if(deviceUI.CommonDevice.Type!=deviceType)
+                {
+                    continue;
+                }
+                if (!typeList.Contains(deviceUI))
+                {
+                    typeList.Add(deviceUI);
+                }
+            }
+            return typeList;
+        }
+
+
         #endregion
 
         #region 鈼� 娣诲姞鍦烘櫙_________________________

--
Gitblit v1.8.0