From 4f92fe4e4397b05bc97d17e8ad02818a689acdb8 Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期四, 10 十月 2019 13:13:33 +0800
Subject: [PATCH] 个人中心添加楼层和创建房间,实装二级验证

---
 ZigbeeApp/Shared/Common/Room.cs |   87 ++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 80 insertions(+), 7 deletions(-)

diff --git a/ZigbeeApp/Shared/Common/Room.cs b/ZigbeeApp/Shared/Common/Room.cs
index e3440a1..c7ef0ed 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;
 
@@ -73,6 +83,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 +96,7 @@
         {
             get
             {
-                return Id == "Favorite";
+                return Id == LoveRoomId;
             }
         }
 
@@ -110,8 +125,7 @@
                 {
                     return new List<string> { };
                 }
-                var loveRoom = Lists[0];
-                return loveRoom.DeviceUIFilePathList;
+                return GetLoveRoom().DeviceUIFilePathList;
             }
         }
 
@@ -204,7 +218,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 +335,15 @@
         #endregion
 
         #region 鈼� 鑾峰彇鎴块棿________________________
+
+        /// <summary>
+        /// 鑾峰彇鍠滅埍鎴块棿
+        /// </summary>
+        /// <returns></returns>
+        public static Room GetLoveRoom()
+        {
+            return CurrentRoom.GetRoomById(LoveRoomId);
+        }
 
         /// <summary>
         /// 閫氳繃璺緞鑾峰彇鎴块棿
@@ -897,6 +920,28 @@
 
         #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 鈼� 淇敼鍦烘櫙________________________
 
         /// <summary>
@@ -1121,7 +1166,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;
@@ -1245,5 +1290,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