namespace Yw.WinFrmUI { /// /// 压力表视图 /// public class HydroPressmeterViewModel : HydroJunctionViewModel { /// /// /// public HydroPressmeterViewModel() { } /// /// /// public HydroPressmeterViewModel(Yw.Model.HydroPressmeterInfo rhs, Yw.Model.HydroModelInfo hydroInfo) : base(rhs, hydroInfo) { this.CurrentPress = rhs.CurrentPress.HasValue ? Math.Round(rhs.CurrentPress.Value, 2) : null; this.UpdatePropStatus(nameof(this.CurrentPress), rhs, nameof(rhs.CurrentPress)); this.Vmo = rhs; } /// /// 当前压力 /// [Category("数据")] [DisplayName("当前压力")] [Display(Name = "当前压力(m)")] [DisplayUnit("m")] [PropertyOrder(3001)] [Browsable(true)] public double? CurrentPress { get; set; } /// /// 自由压力 /// [Category("计算结果")] [DisplayName("自由压力")] [PropertyOrder(10001)] [DisplayUnit("m")] [IsHydroCalcuPro(true)] [ShowEditor(false)] [Browsable(false)] public override double? CalcuPress { get; set; } /// /// 绝对压力 /// [Category("计算结果")] [DisplayName("绝对压力")] [PropertyOrder(10002)] [DisplayUnit("m")] [IsHydroCalcuPro(true)] [ShowEditor(false)] [Browsable(false)] public override double? CalcuHead { get; set; } /// /// 需水量 /// [Category("计算结果")] [DisplayName("需水量")] [PropertyOrder(10003)] [DisplayUnit("m³/h")] [IsHydroCalcuPro(true)] [ShowEditor(false)] [Browsable(false)] public override double? CalcuDemand { get; set; } /// /// 计算压力 /// [Category("计算结果")] [DisplayName("计算压力")] [Display(Name = "计算压力(m)")] [DisplayUnit("m")] [IsHydroCalcuPro(true)] [PropertyOrder(11001)] [ShowEditor(false)] [Browsable(true)] public double? CalcuPr { get; set; } /// /// /// [Browsable(false)] public new Yw.Model.HydroPressmeterInfo Vmo { get; set; } /// /// 更新属性 /// public override void UpdateProperty() { base.UpdateProperty(); this.CurrentPress = this.Vmo.CurrentPress; this.UpdatePropStatus(nameof(this.CurrentPress), this.Vmo, nameof(this.Vmo.CurrentPress)); } /// /// 更新计算属性 /// public override void UpdateCalcuProperty(HydroCalcuResult rhs) { base.UpdateCalcuProperty(rhs); if (rhs is IHydroCalcuPressmeterResult calcuPressmeterProperty) { this.CalcuPr = calcuPressmeterProperty.CalcuPr.HasValue ? Math.Round(calcuPressmeterProperty.CalcuPr.Value, 2) : null; } } } }