using System;
|
using System.Collections.Generic;
|
using Shared;
|
|
namespace HDL_ON.Entity
|
{
|
public class FloorHeating
|
{
|
/// <summary>
|
/// 获取温度单位bus标识
|
/// </summary>
|
/// <param name="function"></param>
|
/// <returns></returns>
|
public int GetTempUintIndex(Function function)
|
{
|
var tt = function.GetAttrState(FunctionAttributeKey.TempType);
|
if (tt == "°F")
|
{
|
return 1;
|
}
|
else
|
{
|
return 0;
|
}
|
}
|
/// <summary>
|
/// 根据bus标识设置温度单位
|
/// </summary>
|
/// <param name="function"></param>
|
/// <returns></returns>
|
public void SetTempUint(Function function, int index)
|
{
|
if (index == 0)
|
{
|
function.SetAttrState(FunctionAttributeKey.TempType, "°C");
|
}
|
else
|
{
|
function.SetAttrState(FunctionAttributeKey.TempType, "°F");
|
}
|
}
|
|
/// <summary>
|
/// 获取bus协议工作模式index
|
/// 0:地热模式;1:地冷模式;
|
/// 2:地热功率模式;3:地冷功率模式;
|
/// </summary>
|
public int GetWorkModeIndex(Function function)
|
{
|
var attr = function.GetAttrState(FunctionAttributeKey.WorkMode);
|
if (attr == "cool")
|
return 1;
|
return 0;
|
}
|
|
/// <summary>
|
/// 设置bus协议工作模式index
|
/// 0:地热模式;1:地冷模式;
|
/// 2:地热功率模式;3:地冷功率模式;
|
/// </summary>
|
public void SetWorkModeIndex(Function function, int index)
|
{
|
if (index == 1)
|
function.SetAttrState(FunctionAttributeKey.WorkMode, "cool");
|
else
|
function.SetAttrState(FunctionAttributeKey.WorkMode, "heat");
|
}
|
|
/// <summary>
|
/// 获取温度模式字符
|
/// </summary>
|
public string GetTempUnitString(Function function)
|
{
|
var tt = function.GetAttrState(FunctionAttributeKey.TempType);
|
if (tt == "0")
|
{
|
return "°C";
|
}
|
else
|
{
|
return tt;
|
}
|
}
|
|
|
|
/// <summary>
|
/// 获取bus协议模式索引
|
/// </summary>
|
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;
|
}
|
/// <summary>
|
/// 设置bus协议模式索引
|
/// </summary>
|
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);
|
}
|
|
/// <summary>
|
/// 时间标记
|
/// 0:白天;1:夜晚
|
/// </summary>
|
public byte timeFlag = 0;
|
|
/// <summary>
|
/// 获取模式的icon路径
|
/// <param name="lightingIcon">获取的图标类型,默认是点亮</param>
|
/// </summary>
|
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;
|
}
|
|
|
/// <summary>
|
/// 获取模式属性文本
|
/// </summary>
|
/// <returns></returns>
|
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;
|
}
|
}
|
}
|