From 1ecba3f7432912d4eb7637355f4dfae676059e00 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期二, 15 十二月 2020 17:23:58 +0800
Subject: [PATCH] 1

---
 HDL_ON/Entity/Room.cs |   36 +++++++++++++++++++++++-------------
 1 files changed, 23 insertions(+), 13 deletions(-)

diff --git a/HDL_ON/Entity/Room.cs b/HDL_ON/Entity/Room.cs
index 60c8e35..dfcbf83 100644
--- a/HDL_ON/Entity/Room.cs
+++ b/HDL_ON/Entity/Room.cs
@@ -46,7 +46,7 @@
         public SpatialInfo(string spatialType)
         {
             roomType = "FLOOR";
-            parentId = UserInfo.Current.CurReginID;
+            parentId = DB_ResidenceData.Instance.CurrentRegion.RegionID;
         }
 
         public string roomId = "";
@@ -247,7 +247,7 @@
         /// 澧炲姞妤煎眰
         /// </summary>
         /// <param name="floor"></param>
-        public string AddFloor(SpatialInfo floor)
+        public string AddFloor(SpatialInfo floor, out SpatialInfo newFloor)
         {
             var pm = new HttpServerRequest();
             var revPack = new ResponsePackNew();
@@ -255,10 +255,10 @@
             if (revPack.Code == StateCode.SUCCESS)
             {
                 var revData = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SpatialInfo>>(revPack.Data.ToString());
-                if(revData.Count>0)
+                if (revData.Count > 0)
                 {
                     var addFloor = revData.Find((obj) => obj.uid == floor.uid);
-                    if(addFloor!= null)
+                    if (addFloor != null)
                     {
                         CurrentSpatial.FloorList.Add(addFloor);
                         floor = addFloor;
@@ -267,6 +267,11 @@
                 var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(CurrentSpatial.FloorList));
                 Common.FileUtlis.Files.WriteFileByBytes(dataSavePath, ssd);
             }
+            else
+            {
+                Utlis.ShowTip(Language.StringByID(StringId.AddFloorFail) + "\r\nCode:" + revPack.Code);
+            }
+            newFloor = floor;
             return revPack.Code;
         }
         /// <summary>
@@ -358,7 +363,7 @@
         /// 澧炲姞鎴块棿
         /// </summary>
         /// <param name="room"></param>
-        public string AddRoom(Room room)
+        public string AddRoom(Room room,out Room newRoom)
         {
             var pm = new HttpServerRequest();
             var pack = pm.AddRoom(new List<SpatialInfo>() { room });
@@ -373,7 +378,7 @@
                         var tempRoom = revData.Find((obj) => obj.uid == room.uid);
                         if (tempRoom != null)
                         {
-                            room = tempRoom as Room;
+                            room.roomId = tempRoom.roomId;
                             CurrentSpatial.RoomList.Add(room);
                             var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(room));
                             Common.FileUtlis.Files.WriteFileByBytes(dataSavePath, ssd);
@@ -381,6 +386,7 @@
                     }
                 }
             }
+            newRoom = room;
             return pack.Code;
         }
         /// <summary>
@@ -414,15 +420,19 @@
             rooms = null;
         }
 
-        public void ClearRooms()
+        public void Clear()
         {
-            if (floors != null)
+            if (_currentSpatial != null)
             {
-                floors.Clear();
-            }
-            if (rooms != null)
-            {
-                rooms.Clear();
+                if (_currentSpatial.floors != null)
+                {
+                    _currentSpatial.floors.Clear();
+                }
+                if (_currentSpatial.rooms != null)
+                {
+                    _currentSpatial.rooms.Clear();
+                }
+                _currentSpatial = null;
             }
         }
 

--
Gitblit v1.8.0