From c6b35c3138b944830b5336bf610f918154dd47c7 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期六, 12 十月 2019 15:45:10 +0800 Subject: [PATCH] 合并门锁,完成住宅管理 --- ZigbeeApp/Shared/Common/Room.cs | 120 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 113 insertions(+), 7 deletions(-) diff --git a/ZigbeeApp/Shared/Common/Room.cs b/ZigbeeApp/Shared/Common/Room.cs index e3440a1..282f05b 100755 --- a/ZigbeeApp/Shared/Common/Room.cs +++ b/ZigbeeApp/Shared/Common/Room.cs @@ -36,14 +36,24 @@ /// 妤煎眰Id /// 鏂板鏃朵娇鐢℅uid /// </summary> - public string FloorId = string.Empty; + public string FloorId = "Floor1"; + /// <summary> + /// 妤煎眰鍚嶇О + /// </summary> + public string FloorName + { + get + { + return GetFloorNameById(FloorId); + } + } /// <summary> /// 鎴块棿鍚� /// </summary> public string Name = string.Empty; /// <summary> - /// 鎴块棿鐨勬椂鍊欒儗鏅浘 + /// 鎴块棿鑳屾櫙鍥� /// </summary> public string BackgroundImage = string.Empty; @@ -56,6 +66,15 @@ /// 妤煎眰--澶囩敤 /// </summary> public Dictionary<string, string> FloorList = new Dictionary<string, string> { }; + + /// <summary> + /// 娓╁害浼犳劅鍣�(璁惧涓婚敭) + /// </summary> + public string TemperatrueDevice = string.Empty; + /// <summary> + /// 婀垮害浼犳劅鍣�(璁惧涓婚敭) + /// </summary> + public string HumidityDevice = string.Empty; /// <summary> /// 褰撳墠閫夋嫨鐨勬埧闂� @@ -73,6 +92,11 @@ public readonly List<string> DeviceUIFilePathList = new List<string>(); /// <summary> + /// 鍠滅埍鎴块棿id + /// </summary> + public const string LoveRoomId= "Favorite"; + + /// <summary> /// 鏄惁鏄粯璁ゅ枩鐖辨埧闂� /// </summary> /// <value><c>true</c> if is love; otherwise, <c>false</c>.</value> @@ -81,7 +105,7 @@ { get { - return Id == "Favorite"; + return Id == LoveRoomId; } } @@ -110,8 +134,7 @@ { return new List<string> { }; } - var loveRoom = Lists[0]; - return loveRoom.DeviceUIFilePathList; + return GetLoveRoom().DeviceUIFilePathList; } } @@ -204,7 +227,7 @@ if (Config.Instance.Home.RoomFilePathList.Contains("Room_Favorite.json") == false) { //榛樿娣诲姞鍠滅埍鐨勬埧闂�--绂佹淇敼鎴块棿鍚� - var love = new Room { Name = Language.StringByID(R.MyInternationalizationString.Favorite), BackgroundImage = "Room/r0.png", Id = "Favorite" }; + var love = new Room { Name = Language.StringByID(R.MyInternationalizationString.Favorite), BackgroundImage = "Room/r0.png", Id = LoveRoomId }; love.Save(true); //娣诲姞鍒癶ouse 鎴块棿璺緞鍒楄〃 var currentHome = Config.Instance.Home; @@ -321,6 +344,15 @@ #endregion #region 鈼� 鑾峰彇鎴块棿________________________ + + /// <summary> + /// 鑾峰彇鍠滅埍鎴块棿 + /// </summary> + /// <returns></returns> + public static Room GetLoveRoom() + { + return CurrentRoom.GetRoomById(LoveRoomId); + } /// <summary> /// 閫氳繃璺緞鑾峰彇鎴块棿 @@ -786,6 +818,28 @@ } } + /// <summary> + /// 鑾峰彇褰撳墠鎴块棿涓嬬殑鍏ㄩ儴璁惧 + /// </summary> + /// <returns></returns> + public List<CommonDevice> GetRoomListDevice() + { + var listDevice = new List<CommonDevice>(); + foreach (var device in this.DeviceUIList) + { + if (device == null || device.CommonDevice == null) + { + continue; + } + listDevice.Add(device.CommonDevice); + } + if (listDevice.Count == 0) + { + return listDevice; + } + return Common.LocalDevice.Current.SortDevice(listDevice); + } + #endregion #region 鈼� 娣诲姞鍦烘櫙_________________________ @@ -895,6 +949,28 @@ Save(); } + #endregion + + #region 鈼� 璁惧鏄惁鏀惰棌______________________ + + /// <summary> + /// 鏄惁鏄敹钘忚澶� + /// </summary> + /// <param name="room"></param> + /// <param name="filePath"></param> + /// <returns></returns> + public bool IsCollectInRoom(Room room,string filePath) + { + if(room.IsLove) + { + return true; + } + if (GetLoveRoom().DeviceUIFilePathList.Find((obj) => obj == filePath) == null) + { + return false; + } + return true; + } #endregion #region 鈼� 淇敼鍦烘櫙________________________ @@ -1121,7 +1197,7 @@ var dicRoom = new Dictionary<string, Common.Room>(); foreach (var room in Common.Room.Lists) { - if (room.FloorId != i_floorKeys) + if (room.FloorId != i_floorKeys || room.IsLove == true) { //涓嶆槸鍚屼竴涓ゼ灞� continue; @@ -1237,6 +1313,8 @@ //鍏嬮殕灞炴�� newRoom.Id = this.Id; newRoom.FloorId = this.FloorId; + newRoom.TemperatrueDevice = this.TemperatrueDevice; + newRoom.HumidityDevice = this.HumidityDevice; newRoom.Name = this.Name; newRoom.BackgroundImage = this.BackgroundImage; newRoom.BackgroundImageType = this.BackgroundImageType; @@ -1245,5 +1323,33 @@ } #endregion + + #region 鈼� 妤煎眰___________________________ + + /// <summary> + /// 鑾峰彇妤煎眰鍚嶇О + /// </summary> + /// <param name="floorId"></param> + /// <returns></returns> + public string GetFloorNameById(string floorId) + { + if (Config.Instance.Home.FloorDics.Count == 0) + { + return null; + } + + foreach (var floor in Config.Instance.Home.FloorDics) + { + if (floorId == floor.Key) + { + return floor.Value; + } + } + return null; + } + + #endregion + + } } -- Gitblit v1.8.0