JLChen
2020-12-16 d724f7f21c5cc8c5dd5aa0cf7345a62a662eb2bf
HDL_ON/Entity/Room.cs
@@ -46,7 +46,7 @@
        public SpatialInfo(string spatialType)
        {
            roomType = "FLOOR";
            parentId = DB_ResidenceData.residenceData.CurReginID;
            parentId = DB_ResidenceData.Instance.CurrentRegion.RegionID;
        }
        public string roomId = "";
@@ -182,7 +182,7 @@
                    }
                }
                var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(FloorList));
                FileUtils.WriteFileByBytes(dataSavePath, ssd);
                Common.FileUtlis.Files.WriteFileByBytes(dataSavePath, ssd);
            }
        }
@@ -202,7 +202,7 @@
                {
                    try
                    {
                        var floorsDataBytes = FileUtils.ReadFile("FloorsData");
                        var floorsDataBytes = Common.FileUtlis.Files.ReadFile("FloorsData");
                        if (floorsDataBytes != null)
                        {
                            var floorsDataString = System.Text.Encoding.UTF8.GetString(floorsDataBytes);
@@ -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,17 +255,23 @@
            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;
                    }
                }
                var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(CurrentSpatial.FloorList));
                FileUtils.WriteFileByBytes(dataSavePath, ssd);
                Common.FileUtlis.Files.WriteFileByBytes(dataSavePath, ssd);
            }
            else
            {
                Utlis.ShowTip(Language.StringByID(StringId.AddFloorFail) + "\r\nCode:" + revPack.Code);
            }
            newFloor = floor;
            return revPack.Code;
        }
        /// <summary>
@@ -279,7 +285,7 @@
            if (revPack.Code == StateCode.SUCCESS)
            {
                var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(FloorList));
                FileUtils.WriteFileByBytes(dataSavePath, ssd);
                Common.FileUtlis.Files.WriteFileByBytes(dataSavePath, ssd);
            }
            return revPack.Code;
        }
@@ -301,7 +307,7 @@
                    CurrentSpatial.FloorList.Remove(tRoom);
                }
                var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(FloorList));
                FileUtils.WriteFileByBytes(dataSavePath, ssd);
                Common.FileUtlis.Files.WriteFileByBytes(dataSavePath, ssd);
            }
            else
            {
@@ -329,13 +335,13 @@
                    try
                    {
                        rooms = new List<Room> { };
                        var filePathList = FileUtils.ReadFiles();
                        var filePathList = Common.FileUtlis.Files.ReadFiles();
                        foreach (var filePath in filePathList)
                        {
                            if (filePath.StartsWith("RoomData_"))
                            {
                                var roomDataBytes = FileUtils.ReadFile(filePath);
                                var roomDataBytes = Common.FileUtlis.Files.ReadFile(filePath);
                                var roomDataString = System.Text.Encoding.UTF8.GetString(roomDataBytes);
                                var room = Newtonsoft.Json.JsonConvert.DeserializeObject<Room>(roomDataString);
                                if (room != null)
@@ -357,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 });
@@ -372,14 +378,15 @@
                        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));
                            FileUtils.WriteFileByBytes(dataSavePath, ssd);
                            Common.FileUtlis.Files.WriteFileByBytes(dataSavePath, ssd);
                        }
                    }
                }
            }
            newRoom = room;
            return pack.Code;
        }
        /// <summary>
@@ -397,7 +404,7 @@
                {
                    CurrentSpatial.RoomList.Remove(room);
                }
                FileUtils.DeleteFile(room.dataSavePath);
                Common.FileUtlis.Files.DeleteFile(room.dataSavePath);
            }
            return pack.Code;
        }
@@ -408,10 +415,27 @@
        {
            foreach(var localRoom in RoomList)
            {
                FileUtils.DeleteFile(localRoom.dataSavePath);
                Common.FileUtlis.Files.DeleteFile(localRoom.dataSavePath);
            }
            RoomList.Clear();
            rooms = null;
        }
        public void Clear()
        {
            if (_currentSpatial != null)
            {
                if (_currentSpatial.floors != null)
                {
                    _currentSpatial.floors.Clear();
                }
                if (_currentSpatial.rooms != null)
                {
                    _currentSpatial.rooms.Clear();
                }
                _currentSpatial = null;
            }
        }
        /// <summary>
        /// 初始化每个房间的功能数据
        /// </summary>
@@ -450,7 +474,7 @@
            if (needSave)
            {
                var ssd = System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(this));
                FileUtils.WriteFileByBytes(dataSavePath, ssd);
                Common.FileUtlis.Files.WriteFileByBytes(dataSavePath, ssd);
            }
            return packCode;
        }
@@ -504,16 +528,6 @@
                    {
                        return f.roomName + " ";
                    }
                    else
                    {
                        foreach(var f1 in CurrentSpatial.FloorList)
                        {
                            if(f1.uid == parentId)
                            {
                                return f.roomName + " ";
                            }
                        }
                    }
                }
                return "";
            }
@@ -534,7 +548,7 @@
            }
            if (functions.Count == 0)
            {
                foreach (var f in DB_ResidenceData.functionList.GetAllFunction())
                foreach (var f in FunctionList.List.GetDeviceFunctionList())
                {
                    if (f.roomIds.Contains(roomId) && roomId != null)
                    {
@@ -576,7 +590,7 @@
            }
            if (scenes.Count == 0)
            {
                foreach (var s in DB_ResidenceData.functionList.scenes)
                foreach (var s in FunctionList.List.scenes)
                {
                    if (s.roomIds.Contains(roomId) && roomId != null)
                    {