namespace Yw.WinFrmUI { /// /// /// public class HydroMonitorValueViewModel { /// /// /// public HydroMonitorValueViewModel() { } /// /// /// 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); } } /// /// 构件 /// [DisplayName("构件")] public string Relation { get; set; } /// /// 名称 /// [DisplayName("名称")] public string PropName { get; set; } /// /// 监测值 /// [DisplayName("监测值")] public double? PropValue { get; set; } /// /// 单位 /// [DisplayName("单位")] public string UnitName { get; set; } /// /// 标签 /// [DisplayName("标签")] public string Flags { get; set; } /// /// 排序码 /// public int SortCode { get; set; } /// /// 说明 /// [DisplayName("说明")] public string Description { get; set; } /// /// vmo /// public Yw.Vmo.HydroMonitorVmo Vmo { get; set; } /// /// 更新属性值 /// 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; } } /// /// 更新属性值 /// public void UpdatePropValue(double? propValue) { this.PropValue = propValue; if (propValue.HasValue) { UpdatePropValue(propValue.Value); } } } }