using System; using System.Collections.Generic; using Shared; namespace HDL_ON.Entity { public class FloorHeating { /// /// 获取温度单位bus标识 /// /// /// public int GetTempUintIndex(Function function) { var tt = function.GetAttrState(FunctionAttributeKey.TempType); if (tt == "°F") { return 1; } else { return 0; } } /// /// 根据bus标识设置温度单位 /// /// /// public void SetTempUint(Function function, int index) { if (index == 0) { function.SetAttrState(FunctionAttributeKey.TempType, "°C"); } else { function.SetAttrState(FunctionAttributeKey.TempType, "°F"); } } /// /// 获取bus协议工作模式index /// 0:地热模式;1:地冷模式; /// 2:地热功率模式;3:地冷功率模式; /// public int GetWorkModeIndex(Function function) { var attr = function.GetAttrState(FunctionAttributeKey.WorkMode); if (attr == "cool") return 1; return 0; } /// /// 设置bus协议工作模式index /// 0:地热模式;1:地冷模式; /// 2:地热功率模式;3:地冷功率模式; /// public void SetWorkModeIndex(Function function, int index) { if (index == 1) function.SetAttrState(FunctionAttributeKey.WorkMode, "cool"); else function.SetAttrState(FunctionAttributeKey.WorkMode, "heat"); } /// /// 获取温度模式字符 /// public string GetTempUnitString(Function function) { var tt = function.GetAttrState(FunctionAttributeKey.TempType); if (tt == "0") { return "°C"; } else { return tt; } } /// /// 获取bus协议模式索引 /// public byte GetModeIndex(Function function) { byte index = 0; var mode = function.GetAttrState(FunctionAttributeKey.Mode); switch (mode) { 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; } /// /// 设置bus协议模式索引 /// public void SetModeIndex(int value, Function function) { string mode = "timer"; switch (value) { case 5: mode = "timer"; break; case 1: mode = "normal"; break; case 2: mode = "day"; break; case 3: mode = "night"; break; case 4: mode = "away"; break; default: mode = "cool"; break; } function.SetAttrState(FunctionAttributeKey.Mode, mode); } /// /// 时间标记 /// 0:白天;1:夜晚 /// public byte timeFlag = 0; public string GetWrokModeIconPath(string value, bool lighting = true) { var imagePath = "FunctionIcon/AC/HeatingIcon.png"; switch (value) { case "heat": imagePath = lighting ? "FunctionIcon/AC/HeatingIcon.png" : "FunctionIcon/AC/HeatingIconGray.png"; break; case "cool": imagePath = lighting ? "FunctionIcon/AC/CoolIcon.png" : "FunctionIcon/AC/CoolIconGray.png"; break; case "economic": imagePath = lighting ? "FunctionIcon/FloorHeating/EconomicIcon.png" : "FunctionIcon/FloorHeating/EconomicIconGray.png"; break; } return imagePath; } /// /// 获取模式的icon路径 /// 获取的图标类型,默认是点亮 /// public string GetModeIconPath(string modeValue, bool lighting = true) { var imagePath = "FunctionIcon/AC/HeatingIcon.png"; //var key = function.GetAttrState(FunctionAttributeKey.Mode); if (lighting) { switch (modeValue) { 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; } } else { switch (modeValue) { case "day": imagePath = "FunctionIcon/AC/HeatingIconGray.png"; break; case "night": imagePath = "FunctionIcon/FloorHeating/NightIconGray.png"; break; case "away": imagePath = "FunctionIcon/FloorHeating/AwayIconGray.png"; break; case "timer": imagePath = "FunctionIcon/AC/AutoIconGray.png"; break; case "normal": imagePath = "FunctionIcon/FloorHeating/OrdinaryIconGray.png"; break; } } return imagePath; } /// /// 获取模式属性文本 /// /// public string GetModeAttrText(string value) { string text = ""; switch (value) { 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 "timer": text = Language.StringByID(StringId.Auto); break; case "normal": text = Language.StringByID(StringId.Normal); break; } return text; } } }