From 274c9e174b3b4df8ff27cf73568076dcaf99f12a Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期一, 30 十二月 2019 13:59:48 +0800
Subject: [PATCH] 2019.12.30
---
ZigbeeApp/Shared/Common/Room.cs | 158 +++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 136 insertions(+), 22 deletions(-)
diff --git a/ZigbeeApp/Shared/Common/Room.cs b/ZigbeeApp/Shared/Common/Room.cs
index 4d255ea..178fc61 100644
--- a/ZigbeeApp/Shared/Common/Room.cs
+++ b/ZigbeeApp/Shared/Common/Room.cs
@@ -69,12 +69,20 @@
/// <summary>
/// 娓╁害浼犳劅鍣�(璁惧涓婚敭)
- /// </summary>
+ /// </summary>
public string TemperatrueDevice = string.Empty;
/// <summary>
/// 婀垮害浼犳劅鍣�(璁惧涓婚敭)
/// </summary>
public string HumidityDevice = string.Empty;
+ /// <summary>
+ /// 娓╁害
+ /// </summary>
+ public double Temperatrue;
+ /// <summary>
+ /// 婀垮害
+ /// </summary>
+ public double Humidity;
/// <summary>
/// 褰撳墠閫夋嫨鐨勬埧闂�
@@ -201,6 +209,32 @@
return sceneList;
}
}
+
+ /// <summary>
+ /// 鑾峰彇鎵�鏈夋埧闂寸殑鎵�鏈夊満鏅矾寰�
+ /// </summary>
+ /// <value>All room scene UIL ist.</value>
+ [Newtonsoft.Json.JsonIgnore]
+ public List<string> AllRoomSceneUIFilepathList
+ {
+ get
+ {
+ var pathList = new List<string> { };
+ foreach (var r in Lists)
+ {
+ if (r.SceneUIFilePathList.Count == 0)
+ {
+ continue;
+ }
+ foreach (var path in r.SceneUIFilePathList)
+ {
+ pathList.Add(path);
+ }
+ }
+ return pathList;
+ }
+ }
+
/// <summary>
/// 鍦烘櫙鍒楄〃---涓嶅啀搴忓垪鍖�
/// </summary>
@@ -302,6 +336,19 @@
}
}
Config.Instance.Home.InitFloor();
+
+ RefreshRoomListView();
+ }
+
+ /// <summary>
+ /// 鍒锋柊鎴块棿瑙嗗浘鍒楄〃
+ /// </summary>
+ public static void RefreshRoomListView()
+ {
+ Application.RunOnMainThread(() =>
+ {
+ Phone.Device.Room.RoomManagement.Instance.Show();
+ });
}
/// <summary>
@@ -778,9 +825,8 @@
public void AddDevice(string deviceUIFilePath)
{
if (string.IsNullOrEmpty(deviceUIFilePath))
-
- {
- return;
+ {
+ return;
}
var deviceUI = Common.LocalDevice.Current.GetDeviceUI(deviceUIFilePath);
if (null == deviceUI.CommonDevice)
@@ -959,35 +1005,34 @@
}
/// <summary>
- /// 鑾峰彇璇ユゼ灞傜殑鍦烘櫙
+ /// 鑾峰彇鏈垎閰嶅尯鍩熻澶�
/// </summary>
- /// <param name="floorId"></param>
/// <returns></returns>
- public List<SceneUI> GetSceneUIsByFloorId(string floorId)
+ public List<DeviceUI> GetUnalloctedDeviceUIs()
{
- var rooms = GetRoomsByFloorId(floorId);
- if (rooms == null)
+ List<DeviceUI> deviceUIs = new List<DeviceUI> { };
+ var dList = AllRoomDeviceUIList;
+ var commonDeviceList = Common.LocalDevice.Current.listAllDevice;
+
+ if (dList.Count == 0)
{
return null;
}
- var sceneList = new List<SceneUI> { };
- foreach (var r in rooms)
+ foreach (var device in commonDeviceList)
{
- if (r.SceneUIList.Count == 0)
+ if (dList.Find((obj) => obj.CommonDevice == device) == null)
{
- continue;
- }
- foreach (var sceneUI in r.SceneUIList)
- {
- if (sceneUI == null)
- {
- continue;
- }
- sceneList.Add(sceneUI);
+ deviceUIs.Add(Common.LocalDevice.Current.GetDeviceUI(device));
}
}
- return sceneList;
+ if (deviceUIs.Count == 0)
+ {
+ return null;
+ }
+ return deviceUIs;
}
+
+ //public List<DeviceUI> GetUnalloctedDeviceUITypes
#endregion
@@ -1247,6 +1292,7 @@
}
return null;
}
+
/// <summary>
/// 鑾峰彇璇ユゼ灞傛墍鏈夊満鏅�
/// </summary>
@@ -1262,6 +1308,74 @@
}
return sceneUIs;
}
+
+ /// <summary>
+ /// 鑾峰彇璇ユゼ灞傜殑鍦烘櫙
+ /// </summary>
+ /// <param name="floorId"></param>
+ /// <returns></returns>
+ public List<SceneUI> GetSceneUIsByFloorId(string floorId)
+ {
+ var rooms = GetRoomsByFloorId(floorId);
+ if (rooms == null)
+ {
+ return null;
+ }
+ var sceneList = new List<SceneUI> { };
+ foreach (var r in rooms)
+ {
+ if (r.SceneUIList.Count == 0)
+ {
+ continue;
+ }
+ foreach (var sceneUI in r.SceneUIList)
+ {
+ if (sceneUI == null)
+ {
+ continue;
+ }
+ sceneList.Add(sceneUI);
+ }
+ }
+ return sceneList;
+ }
+
+ /// <summary>
+ /// 鑾峰彇鏈垎閰嶅尯鍩熷満鏅�
+ /// </summary>
+ /// <returns></returns>
+ public List<SceneUI> GetUnalloctedScenes()
+ {
+ List<SceneUI> sceneUIs = new List<SceneUI> { };
+ var sList = AllRoomSceneUIFilepathList;
+
+ List<string> sfile = new List<string> { };
+ foreach (var path in Global.FileListByHomeId())
+ {
+ if (path.StartsWith("Scene_", StringComparison.Ordinal))
+ {
+ sfile.Add(path);
+ }
+ }
+ foreach (var path in sfile)
+ {
+ if (sList.Find((obj) => obj == path) == null)
+ {
+ var jsonInfo = Encoding.UTF8.GetString(Global.ReadFileByHomeId(path));
+ var tempSceneUI = Newtonsoft.Json.JsonConvert.DeserializeObject<SceneUI>(jsonInfo);
+ if (tempSceneUI != null)
+ {
+ sceneUIs.Add(tempSceneUI);
+ }
+ }
+ }
+ if (sceneUIs.Count == 0)
+ {
+ return null;
+ }
+ return sceneUIs;
+ }
+
#endregion
#region 鈼� 鍒锋柊鍦烘櫙_________________________
--
Gitblit v1.8.0