From a09b0a281e9038cb137a40aec37c868654704dec Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期二, 09 六月 2020 17:33:35 +0800
Subject: [PATCH] 2020-06-09-3
---
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