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;
}
}
}