From d616b67bd6ea95562af73a00bf0aab38eec935df Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期五, 11 十二月 2020 13:37:26 +0800
Subject: [PATCH] 2020-12-11 1.取消屏幕常亮。2.优化iOS接收推送处理。

---
 HDL_ON/Entity/Room.cs |  202 +++++++++++++++++++++++++-------------------------
 1 files changed, 101 insertions(+), 101 deletions(-)

diff --git a/HDL_ON/Entity/Room.cs b/HDL_ON/Entity/Room.cs
index f38f8fc..82f16c8 100644
--- a/HDL_ON/Entity/Room.cs
+++ b/HDL_ON/Entity/Room.cs
@@ -1,6 +1,7 @@
 锘縰sing System;
 using System.Collections.Generic;
 using HDL_ON.DAL.Server;
+using Shared;
 
 namespace HDL_ON.Entity
 {
@@ -57,29 +58,31 @@
         public string uid = Guid.NewGuid().ToString();
         public string createTime = "";
         public string modifyTime = "";
-        /// <summary>
-        /// 鍒犻櫎鏍囪
-        /// 闇�瑕佸垹闄ゆ暟鎹椂锛屾爣璁颁负锛歵rue
-        /// 鐢变簯绔垹闄ゆ垚鍔熶箣鍚庯紝杩斿洖鏁版嵁鍐嶆竻闄ゆ湰鍦版暟鎹�
-        /// </summary>
-        public bool DeleteSign = false;
+        ///// <summary>
+        ///// 鍒犻櫎鏍囪 20201208锛氬彲娆�:APP鐨勫湪绾垮拰绂荤嚎闂锛屽垰鍒氱‘瀹氫簡锛岀绾挎棤娉曠紪杈戯紝鍙兘鎺у埗
+        ///// 闇�瑕佸垹闄ゆ暟鎹椂锛屾爣璁颁负锛歵rue
+        ///// 鐢变簯绔垹闄ゆ垚鍔熶箣鍚庯紝杩斿洖鏁版嵁鍐嶆竻闄ゆ湰鍦版暟鎹�
+        ///// </summary>
+        //public bool DeleteSign = false;
 
 
-        protected void SaveSpatialInfo()
+        protected ResponsePackNew SaveSpatialInfo()
         {
             var pm = new HttpServerRequest();
+            var revPack = new ResponsePackNew();
             if (string.IsNullOrEmpty(createTime) && string.IsNullOrEmpty(modifyTime))
             {
-                pm.AddRoom(new List<SpatialInfo>() { this });
+                revPack = pm.AddRoom(new List<SpatialInfo>() { this });
             }
             else if (string.IsNullOrEmpty(createTime) && !string.IsNullOrEmpty(modifyTime))
             {
-                pm.DeleteRoom(new List<string>() { roomId });
+                revPack = pm.DeleteRoom(new List<string>() { roomId });
             }
             else if (!string.IsNullOrEmpty(createTime) && !string.IsNullOrEmpty(modifyTime))
             {
-                pm.UpdateRoom(new List<SpatialInfo>() { this });
+                revPack = pm.UpdateRoom(new List<SpatialInfo>() { this });
             }
+            return revPack;
         }
 
         /// <summary>
@@ -123,13 +126,6 @@
                 {
                     foreach (var updateTemp in roomUpdateList)
                     {
-                        var localDelRoom = CurrentSpatial.needDeleteRooms.Find((obj) => obj.roomId == updateTemp.roomId);
-                        if(localDelRoom!= null)
-                        {
-                                    DelRoom(localDelRoom);
-                           
-                            continue;
-                        }
                         var localRoom = CurrentSpatial.RoomList.Find((obj) => obj.roomId == updateTemp.roomId);
                         if (localRoom != null)
                         {
@@ -140,11 +136,11 @@
                                 localRoom.parentId = updateTemp.parentId;
                                 localRoom.createTime = updateTemp.createTime;
                                 localRoom.modifyTime = updateTemp.modifyTime;
-                                localRoom.SaveRoomData();
+                                localRoom.SaveRoomData(false);
                             }
                         }else
                         {
-                            updateTemp.SaveRoomData();
+                            updateTemp.SaveRoomData(false);
                         }
                     }
                 }
@@ -153,7 +149,7 @@
                     CurrentSpatial.DeleteAllRoom();
                     foreach(var newRoom in roomUpdateList)
                     {
-                        newRoom.SaveRoomData();
+                        newRoom.SaveRoomData(false);
                         RoomList.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Room>(
                             Newtonsoft.Json.JsonConvert.SerializeObject(newRoom)));
                     }
@@ -176,7 +172,6 @@
                             localFloor = updateTemp;
                         }
                     }
-                    CurrentSpatial.SaveFloorData();
                 }
                 if(optionType == OptionType.Cover)
                 {
@@ -185,9 +180,9 @@
                     {
                         FloorList.Add(updateTemp);
                     }
-                    var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(FloorList));
-                    FileUtils.WriteFileByBytes(dataSavePath, ssd);
                 }
+                var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(FloorList));
+                FileUtils.WriteFileByBytes(dataSavePath, ssd);
             }
         }
 
@@ -213,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)
@@ -254,8 +249,13 @@
         /// <param name="floor"></param>
         public void AddFloor(SpatialInfo floor)
         {
-            FloorList.Add(floor);
-            SaveFloorData();
+            if (floor.SaveFloorData() == StateCode.SUCCESS)
+            {
+                FloorList.Add(floor);
+                var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(FloorList));
+                FileUtils.WriteFileByBytes(dataSavePath, ssd);
+                MainPage.Log($"Save floor Data");
+            }
         }
         /// <summary>
         /// 鏇存柊妤煎眰淇℃伅
@@ -263,7 +263,12 @@
         /// <param name="floor"></param>
         public void UpdateFloor()
         {
-            SaveFloorData();
+            if(SaveFloorData() == StateCode.SUCCESS)
+            {
+                var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(FloorList));
+                FileUtils.WriteFileByBytes(dataSavePath, ssd);
+                MainPage.Log($"Save floor Data");
+            }
         }
         /// <summary>
         /// 鍒犻櫎妤煎眰
@@ -271,24 +276,41 @@
         /// <param name="floor"></param>
         public void DelFloor(SpatialInfo floor)
         {
-            var tRoom = FloorList.Find((obj) => obj.uid == floor.uid);
-            if (tRoom != null)
+            if (floor == null)
+                return;
+            var pm = new HttpServerRequest();
+            var code = pm.DeleteRoom(new List<string>() { floor.roomId }).Code;
+            if (code == StateCode.SUCCESS)
             {
-                FloorList.Remove(floor);
-                floor.DeleteSign = true;
+                var tRoom = FloorList.Find((obj) => obj.roomId == floor.roomId);
+                if (tRoom != null)
+                {
+                    FloorList.Remove(floor);
+                }
+                var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(FloorList));
+                FileUtils.WriteFileByBytes(dataSavePath, ssd);
+                MainPage.Log($"Save floor Data");
             }
-            SaveFloorData();
+            else
+            {
+                Utlis.ShowTip(Language.StringByID(StringId.DeleteFloorFail) + "Code:" + code);
+            }
         }
 
         /// <summary>
         /// 淇濆瓨妤煎眰鏁版嵁
         /// </summary>
-        void SaveFloorData()
+        string SaveFloorData()
         {
-            var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(FloorList));
-            FileUtils.WriteFileByBytes(dataSavePath, ssd);
-            MainPage.Log($"Save floor Data");
-            SaveSpatialInfo();
+            var pack = SaveSpatialInfo();
+            if (pack.Code == StateCode.SUCCESS)
+            {
+            }
+            else
+            {
+                Utlis.ShowTip(Language.StringByID(StringId.EditRoomInfoFail) + "Code:" + pack.Code);
+            }
+            return pack.Code;
         }
 
 
@@ -320,40 +342,11 @@
                                 var roomDataBytes = FileUtils.ReadFile(filePath);
                                 var roomDataString = System.Text.Encoding.UTF8.GetString(roomDataBytes);
                                 var room = Newtonsoft.Json.JsonConvert.DeserializeObject<Room>(roomDataString);
-                                if (room != null )
+                                if (room != null)
                                 {
-                                    if(room.DeleteSign)
-                                    {
-                                        needDeleteRooms.Add(room);
-                                    }else
-                                    {
-                                        rooms.Add(room);
-                                    }
+                                    rooms.Add(room);
                                 }
                             }
-                        }
-                        if(needDeleteRooms.Count>0)
-                        {
-                            //鍒犻櫎宸茬粡鏍囪闇�瑕佸垹闄ょ殑鎴块棿
-                            new System.Threading.Thread(() =>
-                            {
-                                var delIds = new List<string>();
-                                foreach(var delTemp in needDeleteRooms)
-                                {
-                                    delIds.Add(delTemp.roomId);
-                                }
-                                var pm = new HttpServerRequest();
-                                var pack = pm.DeleteRoom(delIds);
-                                if (pack.Code == StateCode.SUCCESS)
-                                {
-                                    foreach (var delTemp in needDeleteRooms)
-                                    {
-                                        FileUtils.DeleteFile(delTemp.dataSavePath);
-                                    }
-                                    needDeleteRooms.Clear();
-                                }
-                            })
-                            { IsBackground = true }.Start();
                         }
                     }
                     catch (Exception ex)
@@ -365,19 +358,15 @@
             }
         }
         /// <summary>
-        /// 闇�瑕佸垹闄ょ殑鎴块棿
-        /// 鏈湴鏍囪鍒犻櫎浜嗭紝浣嗘槸鏈嶅姟涓婃病鏈夊垹闄�
-        /// 鏃犳硶涓庢湇鍔″櫒閫氳閫犳垚鍒犻櫎涓嶆垚鍔燂紝閫氳鎴愬姛涔嬪悗瑕侀噸鏂板垹闄�
-        /// </summary>
-        List<Room> needDeleteRooms = new List<Room>();
-        /// <summary>
         /// 澧炲姞鎴块棿
         /// </summary>
         /// <param name="room"></param>
         public void AddRoom(Room room)
         {
-            RoomList.Add(room);
-            room.SaveRoomData();
+            if (room.SaveRoomData() == StateCode.SUCCESS)
+            {
+                RoomList.Add(room);
+            }
         }
         /// <summary>
         /// 鍒犻櫎鎴块棿
@@ -387,24 +376,16 @@
         {
             new System.Threading.Thread(() =>
             {
-                room.DeleteSign = true;
-                room.SaveRoomData();
-                var tRoom = RoomList.Find((obj) => obj.uid == room.uid);
-                if (tRoom != null)
-                {
-                    RoomList.Remove(room);
-                }
-                var temp = needDeleteRooms.Find((obj) => obj.uid == room.uid);
-                if (temp != null)
-                {
-                    needDeleteRooms.Add(room);
-                }
                 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)
+                    {
+                        RoomList.Remove(room);
+                    }
                     FileUtils.DeleteFile(room.dataSavePath);
-                    needDeleteRooms.Remove(room);
                 }
             })
             { IsBackground = true }.Start();
@@ -447,12 +428,21 @@
         /// <summary>
         /// 淇濆瓨鎴块棿鏁版嵁
         /// </summary>
-        public void SaveRoomData()
+        public string SaveRoomData(bool upServer = true)
         {
-            var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(this));
-            FileUtils.WriteFileByBytes(dataSavePath, ssd);
-            MainPage.Log($"Save Room Data {roomName} : {uid}");
-            SaveSpatialInfo();
+            var packCode = StateCode.SUCCESS;
+            bool needSave = true;
+            if (upServer)
+            {
+                packCode = SaveSpatialInfo().Code;
+            }
+            if (needSave)
+            {
+                var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(this));
+                FileUtils.WriteFileByBytes(dataSavePath, ssd);
+                MainPage.Log($"Save Room Data {dataSavePath}");
+            }
+            return packCode;
         }
         #endregion
 
@@ -497,12 +487,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.uid == parentId);
                     if (f != null)
                     {
                         return f.roomName + " ";
+                    }
+                    else
+                    {
+                        foreach(var f1 in CurrentSpatial.FloorList)
+                        {
+                            if(f1.uid == parentId)
+                            {
+                                return f.roomName + " ";
+                            }
+                        }
                     }
                 }
                 return "";
@@ -526,7 +526,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);
                     }
@@ -568,7 +568,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