| | |
| | | homeTemp.AddRoomListFilePath(fRoom);
|
| | | }
|
| | |
|
| | | var listRoomFile = new List<string>();
|
| | | foreach (string fileName in listFile)
|
| | | {
|
| | | if (fileName.StartsWith("Room_"))
|
| | | {
|
| | | homeTemp.AddRoomListFilePath(fileName);
|
| | | listRoomFile.Add(fileName);
|
| | | }
|
| | | }
|
| | | //检测楼层数据的合法性
|
| | | CheckFloorData(listRoomFile);
|
| | |
|
| | | homeTemp.Save(false);
|
| | | InitAllRoom();
|
| | | } |
| | | |
| | | /// <summary>
|
| | | /// 检测楼层数据的合法性
|
| | | /// </summary>
|
| | | /// <param name="listRoomFile"></param> |
| | | private static void CheckFloorData(List<string> listRoomFile)
|
| | | {
|
| | | for (int i = 0; i < listRoomFile.Count; i++)
|
| | | {
|
| | | try
|
| | | {
|
| | | var byteData = Global.ReadFileByHomeId(listRoomFile[i]);
|
| | | string valueData = System.Text.Encoding.UTF8.GetString(byteData);
|
| | | var roomTemp = Newtonsoft.Json.JsonConvert.DeserializeObject<Common.Room>(valueData);
|
| | |
|
| | | //检测多个手机来回创建,然后又删除之后,楼层数据不能保证100%同步的问题
|
| | | if (roomTemp.FloorId != string.Empty && Config.Instance.Home.FloorDics.ContainsKey(roomTemp.FloorId) == false)
|
| | | {
|
| | | //未知楼层
|
| | | Config.Instance.Home.FloorDics[roomTemp.FloorId] = Language.StringByID(R.MyInternationalizationString.uUnKnownFloor);
|
| | | }
|
| | | }
|
| | | catch (Exception ex) { HdlLogLogic.Current.WriteLog(ex); }
|
| | | }
|
| | | } |
| | | |
| | | #endregion |
| | |
| | | /// <returns></returns> |
| | | public List<Room> GetRoomsByFloorId(string id) |
| | | { |
| | | if (Config.Instance.Home.FloorDics.Count == 0) |
| | | { |
| | | return Lists; |
| | | } |
| | | return Lists.FindAll((obj) => obj.FloorId == id); |
| | | } |
| | | /// <summary> |
| | |
| | | /// </summary> |
| | | /// <param name="id"></param> |
| | | /// <returns></returns> |
| | | public List<string> GetRoomNamesByFloorId(string id) |
| | | public List<string> GetRoomNamesByFloorId(string id) |
| | | { |
| | | List<string> names = new List<string> { }; |
| | | foreach(var r in Lists) |
| | | foreach (var r in Lists) |
| | | { |
| | | if(r.FloorId==id) |
| | | if (r.FloorId == id) |
| | | { |
| | | names.Add(r.Name); |
| | | } |
| | |
| | | /// <returns></returns> |
| | | public List<Room> GetRoomsByFloorIdAppendLoveRoom(string id) |
| | | { |
| | | if (Config.Instance.Home.FloorDics.Count == 0) |
| | | { |
| | | return Lists; |
| | | } |
| | | var r= Lists.FindAll((obj) => obj.FloorId == id); |
| | | r.Insert(0, GetLoveRoom()); |
| | | return r; |