From 23ca39219c5075d829d14137cb54896a24ae513d Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期五, 04 十二月 2020 13:57:08 +0800
Subject: [PATCH] 20201204

---
 HDL_ON/Entity/Function/Scene.cs |   83 ++++++++++++++++++++++++++++++++++++++---
 1 files changed, 76 insertions(+), 7 deletions(-)

diff --git a/HDL_ON/Entity/Function/Scene.cs b/HDL_ON/Entity/Function/Scene.cs
index d301fbe..2b122dc 100644
--- a/HDL_ON/Entity/Function/Scene.cs
+++ b/HDL_ON/Entity/Function/Scene.cs
@@ -1,13 +1,31 @@
 锘縰sing System;
 using System.Collections.Generic;
+using HDL_ON.DAL.Server;
 using Shared;
 
 namespace HDL_ON.Entity
 {
+    public class SceneApiPack
+    {
+        static SceneApiPack _ScenePack;
+        public static SceneApiPack ScenePack
+        {
+            get
+            {
+                if(_ScenePack == null)
+                {
+                    _ScenePack = new SceneApiPack();
+                }
+                return _ScenePack;
+            }
+        }
+
+    }
+
     public class Scene 
     {
         /// <summary>
-        /// 杩滅鍞竴ID
+        /// 浜戠鍞竴ID
         /// </summary>
         public string userSceneId = "";
         /// <summary>
@@ -77,7 +95,6 @@
         /// 鏀惰棌鏍囪
         /// </summary>
         public bool collect = false;
-
 
         /// <summary>
         /// 鍦烘櫙鑳屾櫙
@@ -157,7 +174,7 @@
             string roomNameList = "";
             foreach (var roomId in roomIds)
             {
-                var findRoom = DB_ResidenceData.Rooms.Find(obj => obj.uid == roomId);
+                var findRoom = DB_ResidenceData.residenceData.Rooms.Find(obj => obj.uid == roomId);
                 if (findRoom == null)
                 {
                     continue;
@@ -186,20 +203,72 @@
                 return "SceneData_" + sid;
             }
         }
+
         /// <summary>
         /// 淇濆瓨鍔熻兘鏁版嵁
         /// </summary>
         public void SaveSceneData()
         {
             var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(this));
-            FileUtils.WriteFileByBytes(savePath + this.sid, ssd);
-            MainPage.Log($"Save Scene Data : {this.sid}");
+            FileUtils.WriteFileByBytes(savePath, ssd);
+            MainPage.Log($"Save Scene Data : {savePath}");
+            UploadScene();
         }
 
         /// <summary>
-        /// 鏇存柊鏃堕棿
+        /// 涓婁紶鏁版嵁鍒颁簯绔�
         /// </summary>
-        public DateTime refreshTime = DateTime.MinValue;
+        void UploadScene()
+        {
+            var pm = new HttpServerRequest();
+            ResponsePackNew revPack;
+            if (DeleteSign)
+            {
+                var resCode = pm.DeleteScene(userSceneId);
+            }
+            else
+            {
+                if (string.IsNullOrEmpty(createTime) && string.IsNullOrEmpty(modifyTime))
+                {
+                    revPack = pm.AddScene(this);
+                    if (revPack.Code == StateCode.SUCCESS)
+                    {
+                        var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(this));
+                        FileUtils.WriteFileByBytes(savePath, ssd);
+                    }
+                }
+                else if (!string.IsNullOrEmpty(createTime) && !string.IsNullOrEmpty(modifyTime))
+                {
+                    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));
+                            FileUtils.WriteFileByBytes(savePath, ssd);
+                        }
+                    }
+                }
+            }
+        }
+
+        /// <summary>
+        /// 鍒犻櫎鏍囪
+        /// 闇�瑕佸垹闄ゆ暟鎹椂锛屾爣璁颁负锛歵rue
+        /// 鐢变簯绔垹闄ゆ垚鍔熶箣鍚庯紝杩斿洖鏁版嵁鍐嶆竻闄ゆ湰鍦版暟鎹�
+        /// </summary>
+        public bool DeleteSign = false;
+
+        /// <summary>
+        /// 浜戠鏁版嵁鍒涘缓鐨勬椂闂�
+        /// </summary>
+        public string createTime = "";
+        /// <summary>
+        /// 浜戠鏁版嵁淇敼鐨勬渶鍚庢椂闂�
+        /// </summary>
+        public string modifyTime = "";
     }
     /// <summary>
     /// 鍦烘櫙鍔熻兘瀵硅薄

--
Gitblit v1.8.0