namespace Yw.WinFrmUI
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public class HydroMonitorValueViewModel
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public HydroMonitorValueViewModel() { }
|
|
/// <summary>
|
///
|
/// </summary>
|
public HydroMonitorValueViewModel
|
(
|
Yw.Vmo.HydroMonitorVmo vmo,
|
Yw.Model.HydroVisualInfo visual,
|
double? propValue
|
)
|
{
|
this.Relation = visual.Name;
|
this.PropName = HydroMonitorPropHelper.GetName(vmo.PropName);
|
this.UnitName = HydroMonitorPropHelper.GetUnit(vmo.PropName);
|
this.Flags = Yw.Untity.FlagsHelper.ToString(vmo.Flags);
|
this.SortCode = vmo.SortCode;
|
this.Description = vmo.Description;
|
this.Vmo = vmo;
|
|
if (propValue.HasValue)
|
{
|
UpdatePropValue(propValue.Value);
|
}
|
}
|
|
|
/// <summary>
|
/// 构件
|
/// </summary>
|
[DisplayName("构件")]
|
public string Relation { get; set; }
|
|
/// <summary>
|
/// 名称
|
/// </summary>
|
[DisplayName("名称")]
|
public string PropName { get; set; }
|
|
/// <summary>
|
/// 监测值
|
/// </summary>
|
[DisplayName("监测值")]
|
public double? PropValue { get; set; }
|
|
/// <summary>
|
/// 单位
|
/// </summary>
|
[DisplayName("单位")]
|
public string UnitName { get; set; }
|
|
/// <summary>
|
/// 标签
|
/// </summary>
|
[DisplayName("标签")]
|
public string Flags { get; set; }
|
|
/// <summary>
|
/// 排序码
|
/// </summary>
|
public int SortCode { get; set; }
|
|
/// <summary>
|
/// 说明
|
/// </summary>
|
[DisplayName("说明")]
|
public string Description { get; set; }
|
|
/// <summary>
|
/// vmo
|
/// </summary>
|
public Yw.Vmo.HydroMonitorVmo Vmo { get; set; }
|
|
|
/// <summary>
|
/// 更新属性值
|
/// </summary>
|
public void UpdatePropValue(double propValue)
|
{
|
switch (this.Vmo.PropName)
|
{
|
case Yw.Hydro.MonitorProp.CalcuQ:
|
{
|
this.PropValue = Math.Round(propValue, 1);
|
}
|
break;
|
case Yw.Hydro.MonitorProp.CalcuP:
|
{
|
this.PropValue = Math.Round(propValue, 1);
|
}
|
break;
|
case Yw.Hydro.MonitorProp.CalcuE:
|
{
|
this.PropValue = Math.Round(propValue, 1);
|
}
|
break;
|
case Yw.Hydro.MonitorProp.CalcuPr:
|
{
|
this.PropValue = Math.Round(propValue, 2);
|
}
|
break;
|
case Yw.Hydro.MonitorProp.CalcuO:
|
{
|
this.PropValue = Math.Round(propValue, 0);
|
}
|
break;
|
case Yw.Hydro.MonitorProp.CalcuO1:
|
{
|
this.PropValue = Math.Round(propValue, 0);
|
}
|
break;
|
case Yw.Hydro.MonitorProp.CalcuO2:
|
{
|
this.PropValue = Math.Round(propValue, 0);
|
}
|
break;
|
default: this.PropValue = Math.Round(propValue, 2); break;
|
}
|
}
|
|
/// <summary>
|
/// 更新属性值
|
/// </summary>
|
public void UpdatePropValue(double? propValue)
|
{
|
this.PropValue = propValue;
|
if (propValue.HasValue)
|
{
|
UpdatePropValue(propValue.Value);
|
}
|
}
|
|
|
|
}
|
}
|