From df8d4ab0ef17a7fab5dea9c47bbd9f4d4a2a40b0 Mon Sep 17 00:00:00 2001 From: 黄学彪 <hxb@hdlchina.com.cn> Date: 星期一, 15 三月 2021 14:55:49 +0800 Subject: [PATCH] 合并前上传一个版本 --- HDL_ON/Entity/Function/FloorHeating.cs | 268 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 268 insertions(+), 0 deletions(-) diff --git a/HDL_ON/Entity/Function/FloorHeating.cs b/HDL_ON/Entity/Function/FloorHeating.cs index cf57095..aefe030 100644 --- a/HDL_ON/Entity/Function/FloorHeating.cs +++ b/HDL_ON/Entity/Function/FloorHeating.cs @@ -1,11 +1,279 @@ 锘縰sing System; +using System.Collections.Generic; + namespace HDL_ON.Entity { public class FloorHeating : Function { + /* + *鍦扮儹锛歵rait: [switch, mode, set_temp, lock] + *灞炴�� 鎻忚堪 + *switch on/off + *mode day, night,away, vacation, timer + *set_temp value + *lock boolean(Lock閿佸畾鎺у埗) + *set_ point up,down,value + */ public FloorHeating() { } + /// <summary> + /// 褰撳墠娓╁害妯″紡 + /// 0:鎽勬皬搴� + /// 1:鍗庢皬搴� + /// </summary> + [Newtonsoft.Json.JsonIgnore] + public int curTempType = 0; + + /// <summary> + /// 宸ヤ綔妯″紡 + /// 0:鍦扮儹妯″紡锛�1:鍦板喎妯″紡锛� + /// 2:鍦扮儹鍔熺巼妯″紡锛�3:鍦板喎鍔熺巼妯″紡锛� + /// </summary> + public int workMode = 0; + /// <summary> + /// 褰撳墠娓╁害妯″紡瀛楃 + /// </summary> + public string tempUnitString + { + get + { + if (curTempType == 0) + { + return "掳C"; + } + else + { + return "掳F"; + } + } + } + FunctionAttributes _trait_mode; + /// <summary> + /// 妯″紡灞炴�� + /// </summary> + [Newtonsoft.Json.JsonIgnore] + public FunctionAttributes trait_mode + { + get + { + if (_trait_mode == null) + { + _trait_mode = attributes.Find((obj) => obj.key == "mode"); + //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂�� + if (_trait_mode == null) + { + _trait_mode = new FunctionAttributes() + { + key = "mode", + value = new List<string> { "day", "night", "away", "normal", "timer" }, + max = 4, + min = 0, + }; + } + if(_trait_mode.curValue.ToString() == "{}") + { + _trait_mode.curValue = "day"; + } + } + return _trait_mode; + } + } + + /// <summary> + /// 宸ヤ綔妯″紡瀵瑰簲鐨勫伐浣滄俯搴� + /// </summary> + [Newtonsoft.Json.JsonIgnore] + public Dictionary<string, byte> modeTemp = new Dictionary<string, byte>(); + + /// <summary> + /// 褰撳墠妯″紡绱㈠紩 + /// bus鎺у埗鍛戒护浣跨敤 + /// </summary> + [Newtonsoft.Json.JsonIgnore] + public byte curModeIndex + { + get + { + try + { + byte index = 0; + switch (trait_mode.curValue.ToString()) + { + case "day": + index = 2; + break; + case "night": + index = 3; + break; + case "away": + index = 4; + break; + case "normal": + index = 1; + break; + case "timer": + index = 5; + break; + default: + index = 0; + break; + } + return index; + } + catch (Exception ex) + { + MainPage.Log($"get curModeIndex error : {ex.Message}"); + return 0; + } + } + set + { + switch (value) + { + case 5: + trait_mode.curValue = "timer"; + break; + case 1: + trait_mode.curValue = "normal"; + break; + case 2: + trait_mode.curValue = "day"; + break; + case 3: + trait_mode.curValue = "night"; + break; + case 4: + trait_mode.curValue = "away"; + break; + default: + trait_mode.curValue = "cool"; + break; + + } + } + } + + /// <summary> + /// 鏃堕棿鏍囪 + /// 0:鐧藉ぉ锛�1:澶滄櫄 + /// </summary> + public byte timeFlag = 0; + + FunctionAttributes _trait_IndoorTemp; + /// <summary> + /// 瀹ゅ唴娓╁害 + /// </summary> + [Newtonsoft.Json.JsonIgnore] + public FunctionAttributes trait_IndoorTemp + { + get + { + if (_trait_IndoorTemp == null) + { + _trait_IndoorTemp = attributes.Find((obj) => obj.key == FunctionAttributeKey.IndoorTemp); + //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂�� + if (_trait_IndoorTemp == null) + { + _trait_IndoorTemp = new FunctionAttributes() + { + key = FunctionAttributeKey.IndoorTemp, + value = new List<string> { }, + max = 30, + min = 0, + }; + + } + } + if (_trait_IndoorTemp.curValue.ToString() == "{}") + { + _trait_IndoorTemp.curValue = "0"; + } + var vv = Convert.ToDouble(_trait_IndoorTemp.curValue); + _trait_IndoorTemp.curValue = Convert.ToInt32(vv).ToString(); + return _trait_IndoorTemp; + } + } + + + FunctionAttributes _trait_temp; + /// <summary> + /// 褰撳墠娓╁害 + /// </summary>/// <summary> + /// 褰撳墠绌鸿皟娓╁害 + /// </summary> + [Newtonsoft.Json.JsonIgnore] + public FunctionAttributes trait_temp + { + get + { + if (_trait_temp == null) + { + _trait_temp = attributes.Find((obj) => obj.key == "set_temp"); + //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂�� + if (_trait_temp == null) + { + _trait_temp = new FunctionAttributes() + { + key = "set_temp", + value = new List<string> { }, + max = 30, + min = 5, + }; + } + if(_trait_temp.curValue.ToString() == "{}") + _trait_temp.curValue = "16"; + } + //if (_trait_temp.curValue.ToString().Length > 3) + { + double vv = 0; + Double.TryParse(_trait_temp.curValue.ToString(),out vv); + _trait_temp.curValue = Convert.ToInt32(vv).ToString(); + } + return _trait_temp; + } + } + /// <summary> + /// 褰撳墠妯″紡鐨刬con璺緞 + /// </summary> + [Newtonsoft.Json.JsonIgnore] + public string curModeImage + { + get + { + try + { + var imagePath = "FunctionIcon/AC/HeatingIcon.png"; + switch (trait_mode.curValue) + { + case "day": + imagePath = "FunctionIcon/AC/HeatingIcon.png"; + break; + case "night": + imagePath = "FunctionIcon/FloorHeating/NightIcon.png"; + break; + case "away": + imagePath = "FunctionIcon/FloorHeating/AwayIcon.png"; + break; + case "timer": + imagePath = "FunctionIcon/AC/AutoIcon.png"; + break; + case "normal": + imagePath = "FunctionIcon/FloorHeating/OrdinaryIcon.png"; + break; + default: + imagePath = "FunctionIcon/AC/HeatingIcon.png"; + break; + } + return imagePath; + } + catch (Exception ex) + { + MainPage.Log($"ac ge curModeImage error : {ex.Message}"); + return "FunctionIcon/AC/CoolIcon.png"; + } + } + } } } -- Gitblit v1.8.0