From 78df3d9006b4fa60c312cbda519096c167c1cf21 Mon Sep 17 00:00:00 2001
From: wei <kaede@kaededeMacBook-Air.local>
Date: 星期五, 11 十二月 2020 10:46:43 +0800
Subject: [PATCH] 20201210

---
 HDL_ON/Entity/Room.cs |  112 ++++++++++++++++++++++++++++++-------------------------
 1 files changed, 61 insertions(+), 51 deletions(-)

diff --git a/HDL_ON/Entity/Room.cs b/HDL_ON/Entity/Room.cs
index 82f16c8..ea6c102 100644
--- a/HDL_ON/Entity/Room.cs
+++ b/HDL_ON/Entity/Room.cs
@@ -247,72 +247,68 @@
         /// 澧炲姞妤煎眰
         /// </summary>
         /// <param name="floor"></param>
-        public void AddFloor(SpatialInfo floor)
+        public string AddFloor(SpatialInfo floor)
         {
-            if (floor.SaveFloorData() == StateCode.SUCCESS)
+            var pm = new HttpServerRequest();
+            var revPack = new ResponsePackNew();
+            revPack = pm.AddRoom(new List<SpatialInfo>() { floor });
+            if (revPack.Code == StateCode.SUCCESS)
             {
-                FloorList.Add(floor);
-                var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(FloorList));
+                var revData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SpatialInfo>>(revPack.Data.ToString());
+                if(revData.Count>0)
+                {
+                    var addFloor = revData.Find((obj) => obj.uid == floor.uid);
+                    if(addFloor!= null)
+                    {
+                        CurrentSpatial.FloorList.Add(addFloor);
+                    }
+                }
+                var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(CurrentSpatial.FloorList));
                 FileUtils.WriteFileByBytes(dataSavePath, ssd);
-                MainPage.Log($"Save floor Data");
             }
+            return revPack.Code;
         }
         /// <summary>
         /// 鏇存柊妤煎眰淇℃伅
         /// </summary>
         /// <param name="floor"></param>
-        public void UpdateFloor()
+        public string UpdateFloor(SpatialInfo floor)
         {
-            if(SaveFloorData() == StateCode.SUCCESS)
+            var pm = new HttpServerRequest();
+            var revPack = pm.UpdateRoom(new List<SpatialInfo>() { floor });
+            if (revPack.Code == StateCode.SUCCESS)
             {
                 var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(FloorList));
                 FileUtils.WriteFileByBytes(dataSavePath, ssd);
-                MainPage.Log($"Save floor Data");
             }
+            return revPack.Code;
         }
         /// <summary>
         /// 鍒犻櫎妤煎眰
         /// </summary>
         /// <param name="floor"></param>
-        public void DelFloor(SpatialInfo floor)
+        public string DelFloor(string floorId)
         {
-            if (floor == null)
-                return;
+            if (string.IsNullOrEmpty( floorId))
+                return "";
             var pm = new HttpServerRequest();
-            var code = pm.DeleteRoom(new List<string>() { floor.roomId }).Code;
+            var code = pm.DeleteRoom(new List<string>() { floorId }).Code;
             if (code == StateCode.SUCCESS)
             {
-                var tRoom = FloorList.Find((obj) => obj.roomId == floor.roomId);
+                var tRoom = CurrentSpatial.FloorList.Find((obj) => obj.roomId == floorId);
                 if (tRoom != null)
                 {
-                    FloorList.Remove(floor);
+                    CurrentSpatial.FloorList.Remove(tRoom);
                 }
                 var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(FloorList));
                 FileUtils.WriteFileByBytes(dataSavePath, ssd);
-                MainPage.Log($"Save floor Data");
             }
             else
             {
-                Utlis.ShowTip(Language.StringByID(StringId.DeleteFloorFail) + "Code:" + code);
+                Utlis.ShowTip(Language.StringByID(StringId.DeleteFloorFail) + "\r\nCode:" + code);
             }
+            return code;
         }
-
-        /// <summary>
-        /// 淇濆瓨妤煎眰鏁版嵁
-        /// </summary>
-        string SaveFloorData()
-        {
-            var pack = SaveSpatialInfo();
-            if (pack.Code == StateCode.SUCCESS)
-            {
-            }
-            else
-            {
-                Utlis.ShowTip(Language.StringByID(StringId.EditRoomInfoFail) + "Code:" + pack.Code);
-            }
-            return pack.Code;
-        }
-
 
         #endregion
 
@@ -361,34 +357,49 @@
         /// 澧炲姞鎴块棿
         /// </summary>
         /// <param name="room"></param>
-        public void AddRoom(Room room)
+        public string AddRoom(Room room)
         {
-            if (room.SaveRoomData() == StateCode.SUCCESS)
+            var pm = new HttpServerRequest();
+            var pack = pm.AddRoom(new List<SpatialInfo>() { room });
+
+            if (pack.Code == StateCode.SUCCESS)
             {
-                RoomList.Add(room);
+                var revData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SpatialInfo>>(pack.Data.ToString());
+                if (revData != null)
+                {
+                    if (revData.Count > 0)
+                    {
+                        var tempRoom = revData.Find((obj) => obj.uid == room.uid);
+                        if (tempRoom != null)
+                        {
+                            room = tempRoom as Room;
+                            CurrentSpatial.RoomList.Add(room);
+                            var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(room));
+                            FileUtils.WriteFileByBytes(dataSavePath, ssd);
+                        }
+                    }
+                }
             }
+            return pack.Code;
         }
         /// <summary>
         /// 鍒犻櫎鎴块棿
         /// </summary>
         /// <param name="room"></param>
-        public void DelRoom(Room room)
+        public string DelRoom(Room room)
         {
-            new System.Threading.Thread(() =>
+            var pm = new HttpServerRequest();
+            var pack = pm.DeleteRoom(new List<string>() { room.roomId });
+            if (pack.Code == StateCode.SUCCESS)
             {
-                var pm = new HttpServerRequest();
-                var pack = pm.DeleteRoom(new List<string>() { room.roomId });
-                if (pack.Code == StateCode.SUCCESS)
+                var tRoom = RoomList.Find((obj) => obj.roomId == room.roomId);
+                if (tRoom != null)
                 {
-                    var tRoom = RoomList.Find((obj) => obj.roomId == room.roomId);
-                    if (tRoom != null)
-                    {
-                        RoomList.Remove(room);
-                    }
-                    FileUtils.DeleteFile(room.dataSavePath);
+                    CurrentSpatial.RoomList.Remove(room);
                 }
-            })
-            { IsBackground = true }.Start();
+                FileUtils.DeleteFile(room.dataSavePath);
+            }
+            return pack.Code;
         }
         /// <summary>
         /// 鍒犻櫎鎵�鏈夋埧闂�
@@ -440,7 +451,6 @@
             {
                 var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(this));
                 FileUtils.WriteFileByBytes(dataSavePath, ssd);
-                MainPage.Log($"Save Room Data {dataSavePath}");
             }
             return packCode;
         }
@@ -489,7 +499,7 @@
             {
                 if (CurrentSpatial.FloorList.Count > 0)
                 {
-                    var f = CurrentSpatial.FloorList.Find((obj) => obj.uid == parentId);
+                    var f = CurrentSpatial.FloorList.Find((obj) => obj.roomId == parentId);
                     if (f != null)
                     {
                         return f.roomName + " ";

--
Gitblit v1.8.0