From 23ee4f8c373f9abecf079ef9d4297d8b6cd8d5e6 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期三, 16 十二月 2020 15:16:00 +0800
Subject: [PATCH] Merge branch 'NewFilePath'
---
HDL_ON/Entity/FunctionList.cs | 250 ++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 220 insertions(+), 30 deletions(-)
diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs
index 0610a77..6d6b3f2 100644
--- a/HDL_ON/Entity/FunctionList.cs
+++ b/HDL_ON/Entity/FunctionList.cs
@@ -4,6 +4,7 @@
using System.Threading;
using HDL_ON.DAL;
using HDL_ON.DAL.Server;
+using Shared;
namespace HDL_ON.Entity
{
@@ -130,48 +131,51 @@
case SPK.LightRGB:
case SPK.LightRGBW:
case SPK.LightCCT:
- _FunctionList.lights.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Light>(functionDataString));
- deviceFunctionList.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Light>(functionDataString));
+ var light = Newtonsoft.Json.JsonConvert.DeserializeObject<Light>(functionDataString);
+ _FunctionList.lights.Add(light);
+ deviceFunctionList.Add(light);
break;
case SPK.CurtainRoller:
case SPK.CurtainShades:
case SPK.CurtainSwitch:
case SPK.CurtainTrietex:
- _FunctionList.curtains.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Curtain>(functionDataString));
- deviceFunctionList.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Curtain>(functionDataString));
+ var curtain = Newtonsoft.Json.JsonConvert.DeserializeObject<Curtain>(functionDataString);
+ _FunctionList.curtains.Add(curtain);
+ deviceFunctionList.Add(curtain);
break;
case SPK.AcStandard:
- _FunctionList.aCs.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<AC>(functionDataString));
- deviceFunctionList.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<AC>(functionDataString));
+ var ac = Newtonsoft.Json.JsonConvert.DeserializeObject<AC>(functionDataString);
+ _FunctionList.aCs.Add(ac);
+ deviceFunctionList.Add(ac);
break;
case SPK.FloorHeatStandard:
- //鎭㈠鍦扮儹鏁版嵁
- _FunctionList.floorHeatings.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<FloorHeating>(functionDataString));
- deviceFunctionList.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<FloorHeating>(functionDataString));
+ var fh = Newtonsoft.Json.JsonConvert.DeserializeObject<FloorHeating>(functionDataString);
+ _FunctionList.floorHeatings.Add(fh);
+ deviceFunctionList.Add(fh);
break;
case SPK.SensorPm25:
case SPK.SensorCO2:
case SPK.SensorTVOC:
case SPK.SensorTemperature:
case SPK.SensorHumidity:
- //鎭㈠鐜鏁版嵁
- _FunctionList.sensorsEnvironmentalScience.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Sensor>(functionDataString));
- deviceFunctionList.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Sensor>(functionDataString));
+ var sensor = Newtonsoft.Json.JsonConvert.DeserializeObject<Sensor>(functionDataString);
+ _FunctionList.sensorsEnvironmentalScience.Add(sensor);
+ deviceFunctionList.Add(sensor);
break;
case SPK.ElectricSocket:
- //鎭㈠鎻掑骇鏁版嵁
- _FunctionList.switchSockets.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<SwitchSocket>(functionDataString));
- deviceFunctionList.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<SwitchSocket>(functionDataString));
+ var ele = Newtonsoft.Json.JsonConvert.DeserializeObject<SwitchSocket>(functionDataString);
+ _FunctionList.switchSockets.Add(ele);
+ deviceFunctionList.Add(ele);
break;
case SPK.ElectricTV:
- //鎭㈠鐢佃鏁版嵁
- _FunctionList.tVs.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<TV>(functionDataString));
- deviceFunctionList.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<TV>(functionDataString));
+ var tv = Newtonsoft.Json.JsonConvert.DeserializeObject<TV>(functionDataString);
+ _FunctionList.tVs.Add(tv);
+ deviceFunctionList.Add(tv);
break;
case SPK.ElectricFan:
- //鎭㈠椋庢墖鏁版嵁
- _FunctionList.fans.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Fan>(functionDataString));
- deviceFunctionList.Add(Newtonsoft.Json.JsonConvert.DeserializeObject<Fan>(functionDataString));
+ var fan = Newtonsoft.Json.JsonConvert.DeserializeObject<Fan>(functionDataString);
+ _FunctionList.fans.Add(fan);
+ deviceFunctionList.Add(fan);
break;
}
}
@@ -434,17 +438,14 @@
var sceneList = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Scene>>(pack.Data.ToString());
if (sceneList != null)
{
- ////灏嗕笅杞藉埌鍒版暟鎹叏閮ㄤ繚瀛�
- //new Thread(() => {
- // foreach (var temp in sceneList)
- // {
- // temp.SaveSceneData();
- // }
- //})
- //{ IsBackground = true }.Start();
- for(int i=0;i<List.scenes.Count;)
+ for (int i=0;i<List.scenes.Count;)
{
var localScene = List.scenes[i];
+ if (localScene == null)
+ {
+ List.scenes.Remove(localScene);
+ continue;
+ }
var newScene = sceneList.Find((obj) => obj.userSceneId == localScene.userSceneId);
if (newScene == null)//濡傛灉浜戠鏈�鏂版暟鎹病鏈夎鏉℃暟鎹紝鍒欐湰鍦伴渶瑕佸垹鎺夎鏁版嵁璁板綍
{
@@ -618,6 +619,195 @@
{ IsBackground = true }.Start();
}
+
+ #region 鍔熻兘鏂囨湰鐩稿叧
+ /// <summary>
+ /// 灞炴�у悕绉版樉绀烘枃鏈�
+ /// 涓嫳鏂囨樉绀�
+ /// </summary>
+ public string GetNameText(string key)
+ {
+ string text = "";
+ switch (key)
+ {
+ case FunctionAttributeKey.OnOff:
+ text = Language.StringByID(StringId.OnOff);
+ break;
+ case FunctionAttributeKey.Brightness:
+ text = Language.StringByID(StringId.Brightness);
+ break;
+ case FunctionAttributeKey.Color:
+ text = Language.StringByID(StringId.ColorValue);
+ break;
+ case FunctionAttributeKey.Mode:
+ text = Language.StringByID(StringId.Mode);
+ break;
+ case FunctionAttributeKey.FanSpeed:
+ text = Language.StringByID(StringId.FanSpeed);
+ break;
+ case FunctionAttributeKey.SetTemp:
+ text = Language.StringByID(StringId.Temp);
+ break;
+ case FunctionAttributeKey.IndoorTemp:
+ text = Language.StringByID(StringId.IndoorTemp);
+ break;
+ case FunctionAttributeKey.Delay:
+ text = Language.StringByID(StringId.Delay);
+ break;
+ case FunctionAttributeKey.CCT:
+ text = "CCT";
+ break;
+ case FunctionAttributeKey.Percent:
+ text = Language.StringByID(StringId.PercentAdjustment);
+ break;
+ }
+ return text;
+ }
+
+ /// <summary>
+ /// 灞炴�у�煎崟浣�
+ /// </summary>
+ public string GetUintString(string key)
+ {
+ var us = "";
+ switch (key)
+ {
+ case FunctionAttributeKey.SetTemp:
+ case FunctionAttributeKey.IndoorTemp:
+ us = "掳C";
+ break;
+ case FunctionAttributeKey.Percent:
+ case FunctionAttributeKey.Brightness:
+ us = "%";
+ break;
+ }
+ return us;
+ }
+
+ /// <summary>
+ /// 鑾峰彇鎸囧畾灞炴�х殑鏄剧ず鏂囨湰
+ /// 涓嫳鏂囨樉绀�
+ /// </summary>
+ public string GetValueText(string key, string value)
+ {
+ string text = "";
+ switch (key)
+ {
+ case FunctionAttributeKey.OnOff:
+ text = value == "on" ? Language.StringByID(StringId.On) : Language.StringByID(StringId.OFF);
+ break;
+ case FunctionAttributeKey.SetTemp:
+ case FunctionAttributeKey.IndoorTemp:
+ case FunctionAttributeKey.Brightness:
+ case FunctionAttributeKey.Percent:
+ if (value == "")
+ {
+ value = "0";
+ }
+ text = value;
+ break;
+ case FunctionAttributeKey.Mode:
+ switch (value)
+ {
+ //----绌鸿皟
+ case "auto":
+ text = Language.StringByID(StringId.Auto);
+ break;
+ case "cool":
+ text = Language.StringByID(StringId.Cool);
+ break;
+ case "heat":
+ text = Language.StringByID(StringId.Heat);
+ break;
+ case "dry":
+ text = Language.StringByID(StringId.Dry);
+ break;
+ case "fan":
+ text = Language.StringByID(StringId.AirSupply);
+ break;
+ //-----鍦扮儹
+ case "day":
+ text = Language.StringByID(StringId.Day);
+ break;
+ case "night":
+ text = Language.StringByID(StringId.Night);
+ break;
+ case "away":
+ text = Language.StringByID(StringId.Away);
+ break;
+ case "normal":
+ text = Language.StringByID(StringId.Normal);
+ break;
+ case "timer":
+ text = Language.StringByID(StringId.Timer);
+ break;
+ }
+ break;
+ case FunctionAttributeKey.FanSpeed:
+ switch (value)
+ {
+ case "high":
+ text = Language.StringByID(StringId.HighWindSpeed);
+ break;
+ case "medium":
+ text = Language.StringByID(StringId.MiddleWindSpeed);
+ break;
+ case "low":
+ text = Language.StringByID(StringId.LowWindSpeed);
+ break;
+ case "auto":
+ text = Language.StringByID(StringId.Auto);
+ break;
+ default:
+ text = "low";
+ break;
+ }
+ break;
+ case "high":
+ text = Language.StringByID(StringId.HighWindSpeed);
+ break;
+ case "medium":
+ text = Language.StringByID(StringId.MiddleWindSpeed);
+ break;
+ case "low":
+ text = Language.StringByID(StringId.LowWindSpeed);
+ break;
+ case "auto":
+ text = Language.StringByID(StringId.Auto);
+ break;
+ }
+ return text;
+ }
+
+
+ /// <summary>
+ /// 寤舵椂鏄剧ず鐨勬枃鏈�
+ /// </summary>
+ public string GetDelayText(string delay)
+ {
+ string text = "";
+ switch (delay)
+ {
+ case "0":
+ text = Language.StringByID(StringId.NoDelay);
+ break;
+ case "30":
+ text = "30s";
+ break;
+ case "60":
+ text = "1min";
+ break;
+ case "120":
+ text = "2min";
+ break;
+ case "300":
+ text = "5min";
+ break;
+ }
+ return text;
+ }
+
+ #endregion
}
}
--
Gitblit v1.8.0