From f35f1397c980efdc2542dff7aaa23b1a7dbb65e7 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期三, 16 十二月 2020 10:53:34 +0800
Subject: [PATCH] 2020-12-16-1

---
 HDL_ON/Entity/Function/Scene.cs |   54 +++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 43 insertions(+), 11 deletions(-)

diff --git a/HDL_ON/Entity/Function/Scene.cs b/HDL_ON/Entity/Function/Scene.cs
index a74b46a..b1ace2a 100644
--- a/HDL_ON/Entity/Function/Scene.cs
+++ b/HDL_ON/Entity/Function/Scene.cs
@@ -27,9 +27,9 @@
         public Scene()
         {
             sid = NewSid();
-            if (!string.IsNullOrEmpty(DB_ResidenceData.residenceData.HomeGateway.gatewayId))
+            if (!DB_ResidenceData.Instance.CheckWhetherGatewayIdIsNull())
             {
-                gatewayId = DB_ResidenceData.residenceData.HomeGateway.gatewayId;
+                gatewayId = DB_ResidenceData.Instance.HomeGateway.gatewayId;
             }
         }
         /// <summary>
@@ -210,7 +210,7 @@
             string roomNameList = "";
             foreach (var roomId in roomIds)
             {
-                var findRoom = DB_ResidenceData.residenceData.Rooms.Find(obj => obj.roomId == roomId);
+                var findRoom = SpatialInfo.CurrentSpatial.RoomList.Find(obj => obj.roomId == roomId);
                 if (findRoom == null)
                 {
                     continue;
@@ -255,6 +255,41 @@
                 Common.FileUtlis.Files.WriteFileByBytes(savePath, ssd);
                 MainPage.Log($"Save Scene Data : {savePath}");
             }
+        }
+
+        /// <summary>
+        /// 淇敼鍦烘櫙
+        /// </summary>
+        public string UpdateScene()
+        {
+            var pm = new HttpServerRequest();
+            var revPack = pm.EditScene(this);
+            if (revPack.Code == StateCode.SUCCESS)
+            {
+                var scenes = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(revPack.Data.ToString());
+                var tempScene = scenes.Find((obj) => obj.sid == sid);
+                if (tempScene != null)
+                {
+                    var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(tempScene));
+                    Common.FileUtlis.Files.WriteFileByBytes(savePath, ssd);
+                }
+            }
+            return revPack.Code;
+        }
+
+        /// <summary>
+        /// 娣诲姞鍦烘櫙
+        /// </summary>
+        public string AddScene()
+        {
+            var pm = new HttpServerRequest();
+            var revPack = pm.AddScene(this);
+            if (revPack.Code == StateCode.SUCCESS)
+            {
+                var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(this));
+                Common.FileUtlis.Files.WriteFileByBytes(savePath, ssd);
+            }
+            return revPack.Code;
         }
 
         /// <summary>
@@ -316,10 +351,11 @@
         /// 鏈湴瀵瑰簲鐨勫姛鑳�
         /// </summary>
         [Newtonsoft.Json.JsonIgnore]
-        public Function localFunction {
+        public Function localFunction
+        {
             get
             {
-                if(_localFunction == null)
+                if (_localFunction == null)
                 {
                     _localFunction = ConvertFunctionObject();
                 }
@@ -333,14 +369,10 @@
         /// <returns></returns>
         Function ConvertFunctionObject()
         {
-            var localFunction = DB_ResidenceData.functionList.GetAllDeviceFunctionList().Find((obj) => obj.sid == sid);
-            foreach (var s in status)
-            {
-                localFunction.attributes.Add(new FunctionAttributes() { key = s.key, curValue = s.value, value = new List<string>() { s.value } });
-            }
+            var localFunction = FunctionList.List.GetDeviceFunctionList().Find((obj) => obj.sid == sid);
             return localFunction;
         }
-      
+
     }
 
     /// <summary>

--
Gitblit v1.8.0