From 1bb8683aef25143048e572b65734de4772bfc712 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期五, 11 十二月 2020 10:48:17 +0800 Subject: [PATCH] Merge branch 'CJL-NEW' --- HDL_ON/Entity/Room.cs | 141 +++++++++++++++++++++++++++------------------- 1 files changed, 83 insertions(+), 58 deletions(-) diff --git a/HDL_ON/Entity/Room.cs b/HDL_ON/Entity/Room.cs index 389c764..ea6c102 100644 --- a/HDL_ON/Entity/Room.cs +++ b/HDL_ON/Entity/Room.cs @@ -208,10 +208,10 @@ var floorsDataString = System.Text.Encoding.UTF8.GetString(floorsDataBytes); MainPage.Log(floorsDataString); floors = Newtonsoft.Json.JsonConvert.DeserializeObject<List<SpatialInfo>>(floorsDataString); - if (floors == null) - { - floors = new List<SpatialInfo>(); - } + } + if (floors == null) + { + floors = new List<SpatialInfo>(); } } catch (Exception ex) @@ -247,67 +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 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); } + return revPack.Code; } /// <summary> /// 鏇存柊妤煎眰淇℃伅 /// </summary> /// <param name="floor"></param> - public void UpdateFloor() + public string UpdateFloor(SpatialInfo floor) { - SaveFloorData(); + 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); + } + 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.uid == floor.uid); + 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) - { - 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.EditRoomInfoFail) + "Code:" + pack.Code); - } - return pack.Code; - } - #endregion @@ -356,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.uid == room.uid); - 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> /// 鍒犻櫎鎵�鏈夋埧闂� @@ -435,7 +451,6 @@ { var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(this)); FileUtils.WriteFileByBytes(dataSavePath, ssd); - MainPage.Log($"Save Room Data {roomName} : {uid}"); } return packCode; } @@ -482,12 +497,22 @@ { get { - if (FloorList.Count > 0) + if (CurrentSpatial.FloorList.Count > 0) { - var f = FloorList.Find((obj) => obj.uid == parentId); + var f = CurrentSpatial.FloorList.Find((obj) => obj.roomId == parentId); if (f != null) { return f.roomName + " "; + } + else + { + foreach(var f1 in CurrentSpatial.FloorList) + { + if(f1.uid == parentId) + { + return f.roomName + " "; + } + } } } return ""; @@ -511,7 +536,7 @@ { foreach (var f in DB_ResidenceData.functionList.GetAllFunction()) { - if (f.roomIds.Contains(uid) && uid != null) + if (f.roomIds.Contains(roomId) && roomId != null) { functions.Add(f); } @@ -553,7 +578,7 @@ { foreach (var s in DB_ResidenceData.functionList.scenes) { - if (s.roomIds.Contains(uid) && uid != null) + if (s.roomIds.Contains(roomId) && roomId != null) { scenes.Add(s); } -- Gitblit v1.8.0