| | |
| | | } |
| | | } |
| | | double value = 0.0; |
| | | double.TryParse( attr.state,out value); |
| | | double.TryParse(attr.state, out value); |
| | | |
| | | return Convert.ToDouble(value); |
| | | } |
| | |
| | | function.SetAttrState(FunctionAttributeKey.Value, value); |
| | | } |
| | | |
| | | List<string> _intervalValue = new List<string>(); |
| | | |
| | | public void SetIntervalValue(List<string> intervalValue) |
| | | { |
| | | _intervalValue = intervalValue; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 每个等级对区间值 |
| | | /// </summary> |
| | | public List<string> GetIntervalValue(string spk) |
| | | { |
| | | var _intervalValue = new List<string>(); |
| | | if(_intervalValue.Count != 0) |
| | | { |
| | | return _intervalValue; |
| | | } |
| | | _intervalValue = new List<string>(); |
| | | switch (spk) |
| | | { |
| | | case SPK.SensorPm25: |
| | |
| | | |
| | | } |
| | | return _intervalValue; |
| | | } |
| | | |
| | | public string Unit(Function function) |
| | | { |
| | | string unit = ""; |
| | | |
| | | if (function.attrKeyConfigs.Count > 0) |
| | | { |
| | | |
| | | foreach (var attrKey in function.attrKeyConfigs) |
| | | { |
| | | if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", ""))) |
| | | { |
| | | if (!string.IsNullOrEmpty(attrKey.unit)) |
| | | return attrKey.unit; |
| | | } |
| | | } |
| | | } |
| | | |
| | | switch (function.spk) |
| | | { |
| | | case SPK.SensorPm25: |
| | | unit = "ug/m³"; |
| | | break; |
| | | case SPK.SensorTemperature: |
| | | unit = "°C"; |
| | | break; |
| | | case SPK.SensorTVOC: |
| | | unit = "PPB"; |
| | | break; |
| | | case SPK.SensorCO2: |
| | | unit = "PPM"; |
| | | break; |
| | | case SPK.SensorHumidity: |
| | | unit = "%"; |
| | | break; |
| | | case SPK.SensorHcho: |
| | | unit = "mg/m3"; |
| | | break; |
| | | } |
| | | |
| | | return unit; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | } |
| | | return _levelTextList; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取 |
| | | /// </summary> |
| | | /// <param name="function"></param> |
| | | /// <returns></returns> |
| | | public uint GetCurColor(Function function) |
| | | { |
| | | var spk = function.spk; |
| | | var values = GetValues(function); |
| | | uint level = 0x00000000; |
| | | if (function.attrKeyConfigs.Count > 0) |
| | | { |
| | | |
| | | foreach (var attrKey in function.attrKeyConfigs) |
| | | { |
| | | if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", ""))) |
| | | { |
| | | foreach (var info in attrKey.configs) |
| | | { |
| | | if ((Convert.ToInt32(info.start) >= values) && (Convert.ToInt32(info.end) < values)) |
| | | { |
| | | return Convert.ToUInt32(info.color, 16); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | return level; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 获取文本 |
| | | /// </summary> |
| | | /// <param name="function"></param> |
| | | /// <returns></returns> |
| | | public string GetCurText(Function function) |
| | | { |
| | | var spk = function.spk; |
| | | var values = GetValues(function); |
| | | var level = ""; |
| | | if (function.attrKeyConfigs.Count > 0) |
| | | { |
| | | |
| | | foreach (var attrKey in function.attrKeyConfigs) |
| | | { |
| | | if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", ""))) |
| | | { |
| | | foreach (var info in attrKey.configs) |
| | | { |
| | | if ((Convert.ToInt32(info.start) >= values) && (Convert.ToInt32(info.end) < values)) |
| | | { |
| | | return info.desc; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | return level; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 当前等级 |
| | | /// </summary> |
| | |
| | | var spk = function.spk; |
| | | var values = GetValues(function); |
| | | int level = 1; |
| | | |
| | | |
| | | |
| | | if (function.attrKeyConfigs.Count > 0) |
| | | { |
| | | |
| | | foreach (var attrKey in function.attrKeyConfigs) |
| | | { |
| | | if (function.spk.Replace(".", "").Contains(attrKey.key.Replace(".", ""))) |
| | | { |
| | | level = 1; |
| | | if(attrKey.configs.Count == 0) |
| | | { |
| | | break; |
| | | } |
| | | foreach (var info in attrKey.configs) |
| | | { |
| | | if ((Convert.ToDouble(info.start) < values) && (Convert.ToDouble(info.end) >= values)) |
| | | { |
| | | return level; |
| | | } |
| | | level++; |
| | | |
| | | } |
| | | } |
| | | } |
| | | return 1; |
| | | } |
| | | |
| | | |
| | | |
| | | switch (spk) |
| | | { |
| | | case SPK.SensorPm25: |