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