From e96e11d6f8b965ea522c983e040d41e3b9ef105a Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期一, 18 五月 2020 21:33:19 +0800 Subject: [PATCH] 2020-05-18-4 --- ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs | 84 ++++++++++++++++++++++++++++++------------ 1 files changed, 60 insertions(+), 24 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs index 9ec1ecd..7f5755c 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Logic/HdlSceneLogic.cs +++ b/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 鈻� 鑾峰彇鍦烘櫙___________________________ -- Gitblit v1.8.0