From f500e14c0a994487070380c50c85e0929cbc8e63 Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期二, 05 一月 2021 10:48:04 +0800
Subject: [PATCH] 2021-01-05 1.更新
---
Crabtree/SmartHome/HDL/Operation/Device/Room.cs | 155 ++++++++++++++++++++++-----------------------------
1 files changed, 66 insertions(+), 89 deletions(-)
diff --git a/Crabtree/SmartHome/HDL/Operation/Device/Room.cs b/Crabtree/SmartHome/HDL/Operation/Device/Room.cs
index dd209fd..af791a6 100644
--- a/Crabtree/SmartHome/HDL/Operation/Device/Room.cs
+++ b/Crabtree/SmartHome/HDL/Operation/Device/Room.cs
@@ -11,7 +11,7 @@
/// <summary>
/// 鎴块棿瀵硅薄
/// </summary>
- public class Room
+ public class Room
{
public static string FavoriteRoom = "FavoriteRoom";
@@ -24,6 +24,8 @@
{
GetRoomByFilePath (roomFilePath);
}
+
+
// 鎴块棿鍛藉悕瑙勫垯 typeof (Room).Name + "_" + etNameBox.Text.Trim ();
/// <summary>
@@ -84,6 +86,12 @@
break;
}
}
+ //if( IO.FileUtils.ReadFiles ().FindAll ((obj) => obj.Split ('_').Length == 5 && obj.Split ('_') [0] == "Equipment" && obj.Split ('_') [1] == DeviceType.SuperWireless.ToString ()).Count > 0) {
+ // UserConfig.Instance.HideDeviceTypes.Remove (SimpleControl.R.MyInternationalizationString.SuperWireless);
+ // UserConfig.Instance.HideDeviceTypes.Remove (SimpleControl.R.MyInternationalizationString.Sonos);
+ // UserConfig.Instance.SaveUserConfig ();
+ //}
+
return nowRoom;
} catch {
return null;
@@ -143,7 +151,7 @@
common.CustomDelayTimeClose = 0;
}
room.DeviceList.Add (common);
- } else if (deviceType == DeviceType.LightRGB.ToString ()) {
+ } else if (deviceType == DeviceType.LightRGB.ToString ()) {
var common = Newtonsoft.Json.JsonConvert.DeserializeObject<LightLogic> (jsonInfo);
common.CurrentBrightness = 0;
string keyString = common.SubnetID.ToString () + "_" + common.DeviceID.ToString () + "_" + common.LoopID.ToString ();
@@ -156,13 +164,13 @@
common.CustomDelayTimeClose = 0;
}
room.DeviceList.Add (common);
- } else if (deviceType == DeviceType.LightSwitch.ToString ()){
+ } else if (deviceType == DeviceType.LightSwitch.ToString ()) {
var common = Newtonsoft.Json.JsonConvert.DeserializeObject<LightSwitch> (jsonInfo);
room.DeviceList.Add (common);
- } else if (deviceType == DeviceType.LightMixSwitch.ToString () ){
+ } else if (deviceType == DeviceType.LightMixSwitch.ToString ()) {
var common = Newtonsoft.Json.JsonConvert.DeserializeObject<LightMixSwitch> (jsonInfo);
room.DeviceList.Add (common);
- } else if ( deviceType == DeviceType.LightEnergySocket.ToString ()) {
+ } else if (deviceType == DeviceType.LightEnergySocket.ToString ()) {
var common = Newtonsoft.Json.JsonConvert.DeserializeObject<LightEnergySocket> (jsonInfo);
room.DeviceList.Add (common);
} else if (deviceType == DeviceType.LightEnergySwitch.ToString ()) {
@@ -202,15 +210,17 @@
room.DeviceList.Add (Newtonsoft.Json.JsonConvert.DeserializeObject<SensorCO2> (jsonInfo));
} else if (deviceType == DeviceType.SensorTVOC.ToString ()) {
room.DeviceList.Add (Newtonsoft.Json.JsonConvert.DeserializeObject<SensorTVOC> (jsonInfo));
- } else if (deviceType == DeviceType.SensorPM25.ToString ()) {
+ } else if (deviceType == DeviceType.SensorPM25.ToString ()) {
room.DeviceList.Add (Newtonsoft.Json.JsonConvert.DeserializeObject<SensorPM25> (jsonInfo));
- } else if (deviceType == DeviceType.SensorTemperature.ToString ()) {
+ } else if (deviceType == DeviceType.SensorTemperature.ToString ()) {
room.DeviceList.Add (Newtonsoft.Json.JsonConvert.DeserializeObject<SensorTemperature> (jsonInfo));
} else if (deviceType == DeviceType.SensorHumidity.ToString ()) {
room.DeviceList.Add (Newtonsoft.Json.JsonConvert.DeserializeObject<SensorHumidity> (jsonInfo));
} else if (deviceType == DeviceType.FreshAir.ToString ()) {
room.DeviceList.Add (Newtonsoft.Json.JsonConvert.DeserializeObject<FreshAir> (jsonInfo));
- }
+ }
+
+
for (int i = UserConfig.Instance.HideDeviceTypes.Count - 1; i >= 0; i--) {
var hideType = UserConfig.Instance.HideDeviceTypes [i];
@@ -228,7 +238,10 @@
/// <summary>
/// 鎴块棿鍚�
/// </summary>
- public string Name { get; set; }
+ public string Name {
+ get;
+ set;
+ }
public string RoomFilePath {
get {
@@ -238,42 +251,7 @@
}
}
- /// <summary>
- /// 涓嶉�夋嫨鍒版埧闂存椂鍊欑殑鑳屾櫙鍥�
- /// </summary>
- public string UnSelectedBackgroundImage {
- get;
- set;
- }
- /// <summary>
- /// 閫夋嫨鍒版埧闂寸殑鏃跺�欒儗鏅浘
- /// </summary>
- public string SelectedBackgroundImage {
- get;
- set;
- }
-
- /// <summary>
- /// 涓嶉�夋嫨鍒版埧闂翠笅鎷夊垪琛ㄦ椂鍊欑殑鑳屾櫙鍥�
- /// </summary>
- public string UnSelectedListBackgroundImage {
- get;
- set;
- }
-
- /// <summary>
- /// 閫夋嫨鍒版埧闂寸殑涓嬫媺鍒楄〃鏃跺�欒儗鏅浘
- /// </summary>
- public string SelectedListBackgroundImage {
- get;
- set;
- }
-
- /// <summary>
- /// 鍥炬爣
- /// </summary>
- public string IconPath = "DefaultRoomIcon.png";
/// <summary>
/// 鎴块棿鑳屾櫙
/// </summary>
@@ -350,6 +328,9 @@
{
roomFilePathList = new List<string> ();
}
+
+ if (roomFilePathList.Contains (roomFilePath)) return;
+
roomFilePathList.Add (roomFilePath);
//var sssddsa = IO.FileUtils.ReadFiles ().FindAll ((obj) => obj.Contains ("Room_"));
@@ -427,26 +408,16 @@
Save (newRoomFilePath);
}
+
/// <summary>
/// 鎵�鏈夌殑鎴块棿鍒楄〃璺緞
/// </summary>
/// <value>The room file path list.</value>
public static System.Collections.Generic.List<string> FilePathList {
get {
- var roomBytes = IO.FileUtils.ReadFile (roomListFilePath);
- string roombyteString = System.Text.Encoding.UTF8.GetString (roomBytes);
- var ddds = Newtonsoft.Json.JsonConvert.DeserializeObject<System.Collections.Generic.List<string>> (roombyteString);
- if (ddds == null)
- ddds = new List<string> ();
- if (!ddds.Contains (FavoriteRoom)) {
- ddds.Add (FavoriteRoom);
- if (!IO.FileUtils.Exists (FavoriteRoom)) {
- //榛樿娣诲姞瀵瑰簲鐨勬埧闂�
- new Room () { Name = "" }.Save (FavoriteRoom);
- }
- IO.FileUtils.WriteFileByBytes (roomListFilePath, System.Text.Encoding.UTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (ddds)));
- }
- return ddds;
+ var rommBytes = IO.FileUtils.ReadFile (roomListFilePath);
+ string rommbyteString = System.Text.Encoding.UTF8.GetString (rommBytes);
+ return Newtonsoft.Json.JsonConvert.DeserializeObject<System.Collections.Generic.List<string>> (rommbyteString);
}
}
@@ -456,44 +427,50 @@
public static void InitAllRoom ()
{
Lists.Clear ();
- if (null == Newtonsoft.Json.JsonConvert.DeserializeObject<System.Collections.Generic.List<string>> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (roomListFilePath)))) {
- //鍒濆鍖栨埧闂村垪琛�
- Shared.IO.FileUtils.WriteFileByBytes (roomListFilePath, System.Text.Encoding.UTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (new System.Collections.Generic.List<string> ())));
- }
- var roomFilePathList = Newtonsoft.Json.JsonConvert.DeserializeObject<System.Collections.Generic.List<string>> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (roomListFilePath)));
- if (!roomFilePathList.Contains (FavoriteRoom)) {
- roomFilePathList.Add (FavoriteRoom);
- if (!IO.FileUtils.Exists (FavoriteRoom)) {
- //榛樿娣诲姞瀵瑰簲鐨勬埧闂�
- new Room () { Name = "" }.Save (FavoriteRoom);
+ try {
+ if (null == Newtonsoft.Json.JsonConvert.DeserializeObject<System.Collections.Generic.List<string>> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (roomListFilePath)))) {
+ //鍒濆鍖栨埧闂村垪琛�
+ Shared.IO.FileUtils.WriteFileByBytes (roomListFilePath, System.Text.Encoding.UTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (new System.Collections.Generic.List<string> ())));
+ }
+ var roomFilePathList = Newtonsoft.Json.JsonConvert.DeserializeObject<System.Collections.Generic.List<string>> (System.Text.Encoding.UTF8.GetString (IO.FileUtils.ReadFile (roomListFilePath)));
+ if (!roomFilePathList.Contains (FavoriteRoom)) {
+ roomFilePathList.Add (FavoriteRoom);
+ if (!IO.FileUtils.Exists (FavoriteRoom)) {
+ //榛樿娣诲姞瀵瑰簲鐨勬埧闂�
+ new Room () { Name = "" }.Save (FavoriteRoom);
+ }
+ IO.FileUtils.WriteFileByBytes (roomListFilePath, System.Text.Encoding.UTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (roomFilePathList)));
}
- IO.FileUtils.WriteFileByBytes (roomListFilePath, System.Text.Encoding.UTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (roomFilePathList)));
-
- }
-
- foreach (var roomFilePath in roomFilePathList) {
- var room = GetRoomByFilePath (roomFilePath);
- if (null != room) {
- Lists.Add (room);
- }
- }
-
- for (int i = UserConfig.Instance.HideDeviceTypes.Count - 1; i >= 0; i--) {
- var hideType = UserConfig.Instance.HideDeviceTypes [i];
- foreach (var room in Room.Lists) {
- var devices = room.DeviceList.Find ((obj) => {
- return obj.DeviceTextID == hideType;
- });
- if (devices != null) {
- UserConfig.Instance.HideDeviceTypes.Remove (hideType);
- UserConfig.Instance.SaveUserConfig ();
- break;
+ foreach (var roomFilePath in roomFilePathList) {
+ var room = GetRoomByFilePath (roomFilePath);
+ if (null != room) {
+ Lists.Add (room);
}
}
+
+ for (int i = UserConfig.Instance.HideDeviceTypes.Count - 1; i >= 0; i--) {
+ var hideType = UserConfig.Instance.HideDeviceTypes [i];
+ foreach (var room in Room.Lists) {
+ var devices = room.DeviceList.Find ((obj) => {
+ return obj.DeviceTextID == hideType;
+ });
+ if (devices != null) {
+ UserConfig.Instance.HideDeviceTypes.Remove (hideType);
+ UserConfig.Instance.SaveUserConfig ();
+ break;
+ }
+ }
+ }
+
+
+ } catch {
+ Utlis.WriteLine ("瑙f瀽鎴块棿鍒楄〃寮傚父");
}
}
+
+
public void SaveLightScene (string roomFilePath, string SceneRemark, Scene scene)
{
IO.FileUtils.WriteFileByBytes (roomFilePath + "_" + SceneRemark, Encoding.UTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (scene)));
--
Gitblit v1.8.0