WJC
2019-10-24 1f4cec0e3b571e7541f0c7f3a5ea302ed586d9fb
ZigbeeApp/Shared/Common/Room.cs
old mode 100644 new mode 100755
@@ -36,7 +36,7 @@
      /// 楼层Id
      /// 新增时使用Guid
      /// </summary>
      public string FloorId = "Floor1";
        public string FloorId = string.Empty;
      /// <summary>
      /// 楼层名称
      /// </summary>
@@ -44,7 +44,7 @@
      {
         get
         {
            return GetFloorNameById(FloorId);
               return Config.Instance.Home.GetFloorNameById(FloorId);
         }
      }
      /// <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);
      }
@@ -450,6 +450,16 @@
      }
      /// <summary>
        /// 根据房间名字,获取房间对象
        /// </summary>
        /// <returns>The room by name.</returns>
        /// <param name="roomName">房间名</param>
        public Room GetRoomByName(string roomName)
        {
            return Lists.Find((obj) => obj.Name == roomName);
        }
        /// <summary>
      /// 根据设备获取房间名字(楼层+房间名)
      /// </summary>
      /// <returns>房间名</returns>
@@ -519,6 +529,55 @@
         return null;
      }
        /// <summary>
        /// 获取当前楼层的房间
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public  List<Room> GetRoomsByFloorId(string id)
        {
            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)
            {
                if(r.FloorId==id)
                {
                    names.Add(r.Name);
                }
            }
            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
@@ -689,7 +748,6 @@
      #endregion
      #region ◆ 删除设备_________________________
      /// <summary>
      /// 删除功能-设备
      /// </summary>
@@ -826,6 +884,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
@@ -1307,32 +1415,6 @@
         newRoom.BackgroundImageType = this.BackgroundImageType;
         return newRoom;
      }
      #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