From 9c607e921ca7c379799e4dd88b140265a1d5d5c5 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期五, 22 十一月 2019 16:35:30 +0800
Subject: [PATCH] 需要合并
---
ZigbeeApp/Shared/Common/Room.cs | 67 +++++++++++++++------------------
1 files changed, 31 insertions(+), 36 deletions(-)
diff --git a/ZigbeeApp/Shared/Common/Room.cs b/ZigbeeApp/Shared/Common/Room.cs
index a0c4875..d410ead 100644
--- a/ZigbeeApp/Shared/Common/Room.cs
+++ b/ZigbeeApp/Shared/Common/Room.cs
@@ -76,10 +76,26 @@
/// </summary>
public string HumidityDevice = string.Empty;
+ /// <summary>
+ /// 褰撳墠閫夋嫨鐨勬埧闂�
+ /// </summary>
+ private static Room m_CurrentRoom = null;
/// <summary>
/// 褰撳墠閫夋嫨鐨勬埧闂�
/// </summary>
- public static Room CurrentRoom;
+ [Newtonsoft.Json.JsonIgnore]
+ public static Room CurrentRoom
+ {
+ get
+ {
+ if (m_CurrentRoom == null && Lists.Count > 0)
+ {
+ return Lists[0];
+ }
+ return m_CurrentRoom;
+ }
+ set { m_CurrentRoom = value; }
+ }
/// <summary>
/// 鎴块棿閲屾墍鏈夌殑璁惧鍒楄〃
@@ -114,12 +130,6 @@
/// 娉細鍒嗕韩杩囨潵鐨勬埧闂翠笉鑳藉垹闄わ紝涓嶈兘缂栬緫璇ユ埧闂达紝涓嶈兘瀵硅澶囷紙鍔熻兘锛夈�佸満鏅繘琛屽鍒犳敼
/// </summary>
public bool IsSharedRoom = false;
-
- /// <summary>
- /// 鏄惁鍙互鍒锋柊鎴块棿鏁版嵁浜�
- /// 闇�瑕佺瓑鍒濆鍖栨湰鍦拌澶囨暟鎹悗鍦ㄥ彲浠ュ垵濮嬪寲鎴块棿鏁版嵁
- /// </summary>
- public static bool CanInitAllRoom;
/// <summary>
/// 鑾峰彇鍠滅埍鎴块棿鐨勬墍鏈夎澶囪矾寰�
@@ -266,10 +276,6 @@
/// </summary>
public static void InitAllRoom()
{
- //if (CanInitAllRoom == false)
- //{
- // return;
- //}
Lists.Clear();
if (Config.Instance.Home.RoomFilePathList.Contains("Room_Favorite.json") == false)
{
@@ -289,11 +295,13 @@
{
if (room.IsSharedRoom)
{
- room.Name = $"({Language.StringByID(R.MyInternationalizationString.Shared)}){room.Name}";
+ room.Name = $"{room.Name}";
}
Lists.Add(room);
+
}
}
+ Config.Instance.Home.InitFloor();
}
/// <summary>
@@ -323,7 +331,6 @@
}
}
homeTemp.Save(false);
- CanInitAllRoom = true;
InitAllRoom();
}
@@ -551,11 +558,8 @@
/// <param name="device">璁惧瀵硅薄</param>
public Room GetRoomByDevice(CommonDevice device)
{
- var deviceUI = new DeviceUI { };
- deviceUI.DeviceAddr = device.DeviceAddr;
- deviceUI.DeviceEpoint = device.DeviceEpoint;
-
- return Lists.Find((obj) => obj.DeviceUIFilePathList.Contains(deviceUI.FileName));
+ string deviceFile = device.FilePath;
+ return Lists.Find((obj) => obj.IsLove == false && obj.DeviceUIFilePathList.Contains(deviceFile));
}
/// <summary>
@@ -769,9 +773,8 @@
{
return;
}
- var jsonInfo = Encoding.UTF8.GetString(Global.ReadFileByHomeId(deviceUIFilePath));
- var deviceUI = Newtonsoft.Json.JsonConvert.DeserializeObject<DeviceUI>(jsonInfo);
- if (null == deviceUI || null == deviceUI.CommonDevice)
+ var deviceUI = Common.LocalDevice.Current.GetDeviceUI(deviceUIFilePath);
+ if (null == deviceUI.CommonDevice)
{
//褰撳墠瀵硅薄鏁版嵁鏃犳晥
return;
@@ -801,7 +804,7 @@
//娣诲姞鑷姩澶囦唤
HdlAutoBackupLogic.AddOrEditorFile(device.FilePath);
- DeviceUI deviceUI = Common.LocalDevice.Current.GetDeviceUI(device);
+ var deviceUI = Common.LocalDevice.Current.GetDeviceUI(device);
if (DeviceUIFilePathList.Contains(deviceUI.FileName) == false)
{
DeviceUIFilePathList.Add(deviceUI.FileName);
@@ -824,11 +827,10 @@
public void DeleteDevice(string deviceUIFilePath)
{
if (deviceUIFilePath == null) return;
- if (DeviceUIFilePathList.Contains(deviceUIFilePath) && Global.IsExistsByHomeId(deviceUIFilePath))
+ if (DeviceUIFilePathList.Contains(deviceUIFilePath))
{
DeviceUIFilePathList.Remove(deviceUIFilePath);
DeviceUIList.RemoveAll((obj) => obj.FileName == deviceUIFilePath);
- HdlAutoBackupLogic.DeleteFile(deviceUIFilePath);
Save();
}
}
@@ -843,24 +845,21 @@
{
return;
}
- DeviceUI deviceUI = new DeviceUI();
- deviceUI.DeviceAddr = device.DeviceAddr;
- deviceUI.DeviceEpoint = device.DeviceEpoint;
-
//鏍规嵁璁惧锛岃幏鍙栨墍鍦ㄧ殑鎴块棿
var room = this.GetRoomByDevice(device);
if (room == null)
{
return;
}
+ string deviceFile = device.FilePath;
//绉婚櫎缂撳瓨
- if (room.DeviceUIFilePathList.Contains(deviceUI.FileName) == false)
+ if (room.DeviceUIFilePathList.Contains(deviceFile) == false)
{
return;
}
- room.DeviceUIFilePathList.Remove(deviceUI.FileName);
+ room.DeviceUIFilePathList.Remove(deviceFile);
- room.DeviceUIList.RemoveAll((obj) => obj.FileName == deviceUI.FileName);
+ room.DeviceUIList.RemoveAll((obj) => obj.FileName == deviceFile);
room.Save();
//鏇存敼鑷姩澶囦唤
HdlAutoBackupLogic.AddOrEditorFile(room.FileName);
@@ -895,11 +894,7 @@
}
listDevice.Add(device.CommonDevice);
}
- if (listDevice.Count == 0)
- {
- return listDevice;
- }
- return Common.LocalDevice.Current.SortDevice(listDevice);
+ return listDevice;
}
/// <summary>
--
Gitblit v1.8.0