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