陈嘉乐
2020-05-18 5da99fed2eb0d08b6338064da5f998891252c7b8
ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs
@@ -109,7 +109,7 @@
            foreach (var sceneui in listDelete)
            {
                //执行删除
                this.RemoveScene(sceneui);
                this.DeleteLocalScene(sceneui);
            }
            return true;
@@ -149,6 +149,11 @@
                    return null;
                }
                NewScenesId = result1.getSceneIdData.NewScenesId;
            }
            else
            {
                //虚拟场景ID
                NewScenesId = Convert.ToInt32(DateTime.Now.ToString("HHmmss"));
            }
            //添加执行目标
            var listSuccess = await this.AddTargetToScene(NewScenesId, listAdjustTarget);
@@ -298,32 +303,34 @@
        }
        /// <summary>
        /// 删除场景(这个只移除内存)
        /// 添加虚拟场景
        /// </summary>
        /// <param name="scene"></param>
        public void DeleteSceneFromRoom(Room i_room, SceneUI scene)
        /// <param name="sceneId">指定场景id,如果为-1,则会内部自动编号(可能会重复)</param>
        /// <param name="sceneName">场景名字</param>
        /// <param name="listAdjustTarget">绑定目标</param>
        /// <returns></returns>
        public SceneUI AddVirtualScene(int sceneId, string sceneName, List<Scene.DeviceListData> listAdjustTarget)
        {
            //移除缓存
            if (i_room.ListSceneId.Contains(scene.Id) == true)
            if (sceneId == -1)
            {
                i_room.ListSceneId.Remove(scene.Id);
                i_room.Save();
                sceneId = Convert.ToInt32(DateTime.Now.ToString("HHmmss"));
            }
        }
            //创建场景对象
            var newScene = new SceneUI();
            newScene.Name = sceneName;
            newScene.IconPath = "SceneIcon/0.png";
            //虚拟场景ID
            newScene.Id = sceneId;
            if (listAdjustTarget != null)
            {
                newScene.AdjustTargetList.AddRange(listAdjustTarget);
            }
            //添加缓存
            newScene.Save();
            //加入缓存
            this.dicScenes[newScene.Id] = newScene;
        /// <summary>
        /// 删除搜藏场景
        /// </summary>
        /// <param name="scene"></param>
        public void DeleteLoveScene(SceneUI scene)
        {
            var nowRoom = HdlRoomLogic.Current.GetLoveRoom();
            //移除缓存
            if (nowRoom.ListSceneId.Contains(scene.Id) == true)
            {
                nowRoom.ListSceneId.Remove(scene.Id);
                nowRoom.Save();
            }
            return newScene;
        }
        #endregion
@@ -468,10 +475,10 @@
        #region ■ 删除场景___________________________
        /// <summary>
        /// 移除场景--该仅进行了对本地场景数据的删除
        /// 删除本地场景数据
        /// </summary>
        /// <param name="sceneUI">Scene user interface.</param>
        public void RemoveScene(SceneUI sceneUI)
        public void DeleteLocalScene(SceneUI sceneUI)
        {
            //移除缓存
            this.dicScenes.Remove(sceneUI.Id);
@@ -507,6 +514,35 @@
            }
        }
        /// <summary>
        /// 删除场景(这个只移除内存)
        /// </summary>
        /// <param name="scene"></param>
        public void DeleteSceneFromRoom(Room i_room, SceneUI scene)
        {
            //移除缓存
            if (i_room.ListSceneId.Contains(scene.Id) == true)
            {
                i_room.ListSceneId.Remove(scene.Id);
                i_room.Save();
            }
        }
        /// <summary>
        /// 删除搜藏场景
        /// </summary>
        /// <param name="scene"></param>
        public void DeleteLoveScene(SceneUI scene)
        {
            var nowRoom = HdlRoomLogic.Current.GetLoveRoom();
            //移除缓存
            if (nowRoom.ListSceneId.Contains(scene.Id) == true)
            {
                nowRoom.ListSceneId.Remove(scene.Id);
                nowRoom.Save();
            }
        }
        #endregion
        #region ■ 获取场景___________________________