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