From 7f233a10afa6882b4d9531185af60e8843bc1af2 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期一, 11 五月 2020 09:21:36 +0800 Subject: [PATCH] 20200511 --- HDL_ON/Entity/Function/FloorHeating.cs | 335 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 335 insertions(+), 0 deletions(-) diff --git a/HDL_ON/Entity/Function/FloorHeating.cs b/HDL_ON/Entity/Function/FloorHeating.cs index cf57095..f5bb84e 100644 --- a/HDL_ON/Entity/Function/FloorHeating.cs +++ b/HDL_ON/Entity/Function/FloorHeating.cs @@ -1,11 +1,346 @@ 锘縰sing System; +using System.Collections.Generic; + namespace HDL_ON.Entity { public class FloorHeating : Function { + /* + *鍦扮儹锛歵rait: [switch, mode, temperature, lock] + *灞炴�� 鎻忚堪 + *switch on/off + *mode day, night,away, vacation, timer + *temperature up,down,value + *lock boolean(Lock閿佸畾鎺у埗) + */ 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 curTempTypeString + { + get + { + if (curTempType == 0) + { + return "掳C"; + } + else + { + return "掳F"; + } + } + } + /// <summary> + /// 褰撳墠妯″紡 + /// </summary> + [Newtonsoft.Json.JsonIgnore] + public string curMode = "day"; + /// <summary> + /// 宸ヤ綔妯″紡瀵瑰簲鐨勫伐浣滄俯搴� + /// </summary> + public Dictionary<string, byte> modeTemp = new Dictionary<string, byte>(); + + /// <summary> + /// 褰撳墠妯″紡绱㈠紩 + /// bus鎺у埗鍛戒护浣跨敤 + /// </summary> + public byte curModeIndex + { + get + { + try + { + byte index = 0; + switch (curMode) + { + case "day": + index = 2; + break; + case "night": + index = 3; + break; + case "away": + index = 4; + break; + case "ordinary": + 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: + curMode = "timer"; + break; + case 1: + curMode = "ordinary"; + break; + case 2: + curMode = "day"; + break; + case 3: + curMode = "night"; + break; + case 4: + curMode = "away"; + break; + default: + curMode = "cool"; + break; + + } + } + } + + [Newtonsoft.Json.JsonIgnore] + public Trait trait_mode; + /// <summary> + /// 妯″紡鍒楄〃 + /// </summary> + [Newtonsoft.Json.JsonIgnore] + public List<string> modeList + { + get + { + try + { + if (trait_mode == null) + { + trait_mode = propertList.Find((obj) => obj.attri == "mode"); + //鎵句笉鍒板睘鎬ч渶瑕佸0鏄庝竴涓紝闃叉鎶ラ敊闂�� + if (trait_mode == null) + { + trait_mode = new Trait() + { + attri = "mode", + value = new List<string> { "day", "night", "away", "timer", "ordinary" }, + max = 4, + min = 0, + }; + } + trait_mode.curValues = trait_mode.value[trait_mode.min]; + } + return trait_mode.value; + } + catch (Exception ex) + { + MainPage.Log($"ac get mode error : {ex.Message}"); + return new List<string> { "day", "night", "away", "timer", "ordinary" }; + } + } + } + + /// <summary> + /// 鏃堕棿鏍囪 + /// 0:鐧藉ぉ锛�1:澶滄櫄 + /// </summary> + public byte timeFlag = 0; + + /// <summary> + /// 瀹ゅ唴娓╁害 + /// </summary> + [Newtonsoft.Json.JsonIgnore] + public int indoorTemp = 20; + /// <summary> + /// 褰撳墠娓╁害 + /// </summary> + [Newtonsoft.Json.JsonIgnore] + public int curTemp + { + get + { + switch (curMode) + { + case "day": + if (!modeTemp.ContainsKey("day")) + { + modeTemp.Add("day", 20); + } + return modeTemp["day"]; + case "night": + if (!modeTemp.ContainsKey("night")) + { + modeTemp.Add("night", 20); + } + return modeTemp["night"]; + case "away": + if (!modeTemp.ContainsKey("away")) + { + modeTemp.Add("away", 20); + } + return modeTemp["away"]; + case "ordinary": + if (!modeTemp.ContainsKey("ordinary")) + { + modeTemp.Add("ordinary", 20); + } + return modeTemp["ordinary"]; + case "timer": + if (timeFlag == 0) + { + if (!modeTemp.ContainsKey("day")) + { + modeTemp.Add("day", 20); + } + return modeTemp["day"]; + } + else + { + if (!modeTemp.ContainsKey("night")) + { + modeTemp.Add("night", 20); + } + return modeTemp["night"]; + } + } + return 20; + } + set + { + switch (curMode) + { + case "day": + if (!modeTemp.ContainsKey("day")) + { + modeTemp.Add("day", (byte)value); + } + else + { + modeTemp["day"] = (byte)value; + } + return; + case "night": + if (!modeTemp.ContainsKey("night")) + { + modeTemp.Add("night", (byte)value); + } + else + { + modeTemp["night"] = (byte)value; + } + break; + case "away": + if (!modeTemp.ContainsKey("away")) + { + modeTemp.Add("away", (byte)value); + } + else + { + modeTemp["away"] = (byte)value; + } + break; + case "ordinary": + if (!modeTemp.ContainsKey("ordinary")) + { + modeTemp.Add("ordinary", (byte)value); + } + else + { + modeTemp["ordinary"] = (byte)value; + } + break; + case "timer": + if (timeFlag == 0) + { + if (!modeTemp.ContainsKey("day")) + { + modeTemp.Add("day", (byte)value); + } + else + { + modeTemp["day"] = (byte)value; + } + } + else + { + if (!modeTemp.ContainsKey("night")) + { + modeTemp.Add("night", (byte)value); + } + else + { + modeTemp["night"] = (byte)value; + } + } + break; + } + } + } + + + /// <summary> + /// 褰撳墠妯″紡鐨刬con璺緞 + /// </summary> + [Newtonsoft.Json.JsonIgnore] + public string curModeImage + { + get + { + try + { + var imagePath = "FunctionIcon/AC/HeatingIcon.png"; + switch (curMode) + { + 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 "ordinary": + 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