gxc
2019-12-13 eb424d24e39bab4a245725f35deab3f234ea0f13
ZigbeeApp/Shared/Common/Room.cs
@@ -280,12 +280,12 @@
            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 = LoveRoomId };
                love.Save(true);
                var love = new Room { Name = Language.StringByID(R.MyInternationalizationString.Favorite), BackgroundImage = "RoomIcon/0.JPG", Id = LoveRoomId };
                love.Save(false);
                //添加到house 房间路径列表
                var currentHome = Config.Instance.Home;
                currentHome.RoomFilePathList.Insert(0, love.FileName);
                currentHome.Save();
                currentHome.Save(false);
            }
            foreach (var roomFilePath in Config.Instance.Home.RoomFilePathList)
            {
@@ -602,21 +602,25 @@
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public  List<Room> GetRoomsByFloorId(string id)
        public List<Room> GetRoomsByFloorId(string id)
        {
            return Lists.FindAll((obj) => obj.FloorId==id);
            if (Config.Instance.Home.FloorDics.Count == 0)
            {
                return Lists;
            }
            return Lists.FindAll((obj) => obj.FloorId == id);
        }
        /// <summary>
        /// 获取当前楼层的房间名称
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public  List<string> GetRoomNamesByFloorId(string id)
        public List<string> GetRoomNamesByFloorId(string id)
        {
            List<string> names = new List<string> { };
            foreach(var r in Lists)
            foreach (var r in Lists)
            {
                if(r.FloorId==id)
                if (r.FloorId == id)
                {
                    names.Add(r.Name);
                }
@@ -631,6 +635,10 @@
        /// <returns></returns>
        public  List<Room> GetRoomsByFloorIdAppendLoveRoom(string id)
        {
            if (Config.Instance.Home.FloorDics.Count == 0)
            {
                return Lists;
            }
            var r= Lists.FindAll((obj) => obj.FloorId == id);
            r.Insert(0, GetLoveRoom());
            return r;
@@ -660,7 +668,8 @@
        /// </summary>
        /// <param name="device">设备对象</param>
        /// <param name="roomId">新房间Id</param>
        public void ChangedRoom(CommonDevice device, string roomId)
        /// <param name="saveRealRoom">是否修改真实物理设备的房间,不出意外,这个值默认为true即可</param>
        public void ChangedRoom(CommonDevice device, string roomId, bool saveRealRoom = true)
        {
            //房间是否修改
            if (this.IsRoomChanged(device, roomId) == false)
@@ -674,7 +683,7 @@
            var room = this.GetRoomById(roomId);
            if (room != null)
            {
                room.AddDevice(device);
                room.AddDevice(device, saveRealRoom);
            }
        }
@@ -763,7 +772,7 @@
        #region ◆ 添加设备________________________
        /// <summary>
        /// 添加设备
        /// 添加设备(此方法目前只给【我的喜爱】使用)
        /// </summary>
        /// <param name="deviceUIFilePath">Device UIF ile path.</param>
        public void AddDevice(string deviceUIFilePath)
@@ -789,10 +798,11 @@
        }
        /// <summary>
        /// 添加设备
        /// 添加设备(此方法目前只给Room里面使用)
        /// </summary>
        /// <param name="device">要添加的设备对象</param>
        public void AddDevice(CommonDevice device)
        /// <param name="saveRealRoom">是否修改真实物理设备的房间,不出意外,这个值默认为true即可</param>
        public void AddDevice(CommonDevice device, bool saveRealRoom)
        {
            if (device == null)
            {
@@ -800,9 +810,6 @@
            }
            //设备信息保存到本地
            device.Save();
            //添加自动备份
            HdlAutoBackupLogic.AddOrEditorFile(device.FilePath);
            var deviceUI = Common.LocalDevice.Current.GetDeviceUI(device);
            if (DeviceUIFilePathList.Contains(deviceUI.FileName) == false)
@@ -814,6 +821,11 @@
                //添加自动备份
                HdlAutoBackupLogic.AddOrEditorFile(FileName);
                if (saveRealRoom == true && LocalDevice.Current.GetDevicesCountByMac(device.DeviceAddr) == 1)
                {
                    //如果只有一个回路,则修改真实物理设备的房间
                    LocalDevice.Current.SaveRealDeviceRoomId(new List<CommonDevice>() { device }, this.Id, false);
                }
            }
        }
@@ -1210,7 +1222,6 @@
            Save();
            Global.DeleteFilebyHomeId(sceneUI.FileName);
            HdlAutoBackupLogic.DeleteFile(sceneUI.FileName);
            HdlAutoBackupLogic.AddOrEditorFile(FileName);
        }
        #endregion