gxc
2019-11-15 05ce435c3b58e53eeab04c672affdeeab75f3036
ZigbeeApp/Shared/Common/Room.cs
old mode 100755 new mode 100644
@@ -76,10 +76,26 @@
        /// </summary>
        public string HumidityDevice = string.Empty;
        /// <summary>
        /// 当前选择的房间
        /// </summary>
        private static Room m_CurrentRoom = null;
        /// <summary>
        /// 当前选择的房间
        /// </summary>
        public static Room CurrentRoom;
        [Newtonsoft.Json.JsonIgnore]
        public static Room CurrentRoom
        {
            get
            {
                if (m_CurrentRoom == null && Lists.Count > 0)
                {
                    return Lists[0];
                }
                return m_CurrentRoom;
            }
            set { m_CurrentRoom = value; }
        }
        /// <summary>
        /// 房间里所有的设备列表
@@ -266,10 +282,10 @@
        /// </summary>
        public static void InitAllRoom()
        {
            if (CanInitAllRoom == false)
            {
                return;
            }
            //if (CanInitAllRoom == false)
            //{
            //    return;
            //}
            Lists.Clear();
            if (Config.Instance.Home.RoomFilePathList.Contains("Room_Favorite.json") == false)
            {
@@ -429,8 +445,21 @@
                    //设备(deviceUI)
                    beforeRoom.DeviceUIList.Clear();
                    foreach (var deviceFilePath in beforeRoom.DeviceUIFilePathList)
                    {
                        beforeRoom.DeviceUIList.Add(Common.LocalDevice.Current.GetDeviceUI(deviceFilePath));
                    {
                        var jsonInfo = Encoding.UTF8.GetString(Global.ReadFileByHomeId(deviceFilePath));
                        var tempDeviceUI = Newtonsoft.Json.JsonConvert.DeserializeObject<DeviceUI>(jsonInfo);
                        if (tempDeviceUI != null)
                        {
                            var delCommon = tempDeviceUIList.Find((obj) => obj.CommonDevice != null && tempDeviceUI.CommonDevice != null && obj.CommonDevice.Type == tempDeviceUI.CommonDevice.Type && obj.CommonDevice.CommonDeviceAddrEpoint == tempDeviceUI.CommonDevice.CommonDeviceAddrEpoint);
                            if (delCommon != null)
                            {
                                beforeRoom.DeviceUIList.Add(delCommon);
                            }
                            else
                            {
                                beforeRoom.AddDevice(deviceFilePath);
                            }
                        }
                    }
                    //场景(SceneUI)
                    beforeRoom.SceneUIList.Clear();
@@ -622,6 +651,10 @@
        /// <returns></returns>
        public  List<Room> GetRoomsByCurrentFloorIdAppendLoveRoom()
        {
            if(Config.Instance.Home.FloorDics.Count==0)
            {
                return Lists;
            }
            var r = Lists.FindAll((obj) => obj.FloorId == Config.Instance.Home.CurrentFloorId);
            r.Insert(0, GetLoveRoom());
            return r;
@@ -745,8 +778,9 @@
        public void AddDevice(string deviceUIFilePath)
        {
            if (string.IsNullOrEmpty(deviceUIFilePath))
            {
                return;
             {
                 return;
            }
            var deviceUI = Common.LocalDevice.Current.GetDeviceUI(deviceUIFilePath);
            if (null == deviceUI.CommonDevice)
@@ -974,7 +1008,7 @@
                    return -1;
                }
            }
            var getSceneIdAllData = await ZigBee.Device.Scene.GetSceneNewIdAsync(sceneName);
            if (getSceneIdAllData == null || getSceneIdAllData.getSceneIdData == null)
            {
@@ -1460,6 +1494,6 @@
        }
        #endregion
    }
}