using Yw.Model; namespace Yw.WinFrmUI { /// /// 流量计属性视图 /// public class HydroFlowmeterPropertyViewModel : HydroJunctionPropertyViewModel, IHydroCalcuFlowmeterResult { /// /// /// public HydroFlowmeterPropertyViewModel() : base() { } /// /// /// public HydroFlowmeterPropertyViewModel(Yw.Model.HydroFlowmeterInfo rhs) : base(rhs) { this.CurrentFlow = rhs.CurrentFlow; this.UpdatePropStatus(nameof(this.CurrentFlow), rhs, nameof(rhs.CurrentFlow)); } /// /// 流量 /// [Category("数据")] [DisplayName("流量")] [PropertyOrder(1001)] [Browsable(true)] public double? CurrentFlow { get; set; } /// /// 流量 /// [Category("计算结果")] [DisplayName("流量")] [PropertyOrder(11001)] [DisplayUnit("m³/h")] [IsHydroCalcuPro(true)] [ShowEditor(false)] [Browsable(true)] public double? CalcuQ { get; set; } /// /// 更新属性 /// public override void UpdateProperty(HydroParterInfo rhs, List allParterList) { base.UpdateProperty(rhs, allParterList); if (rhs is Yw.Model.HydroFlowmeterInfo hydroFlowmeterInfo) { this.CurrentFlow = hydroFlowmeterInfo.CurrentFlow; this.UpdatePropStatus(nameof(this.CurrentFlow), hydroFlowmeterInfo, nameof(hydroFlowmeterInfo.CurrentFlow)); } } /// /// 更新计算属性 /// public override void UpdateCalcuProperty(IHydroCalcuResult rhs) { base.UpdateCalcuProperty(rhs); if (rhs is IHydroCalcuFlowmeterResult calcuFlowmeterProperty) { this.CalcuQ = calcuFlowmeterProperty.CalcuQ.HasValue ? Math.Round(calcuFlowmeterProperty.CalcuQ.Value, 1) : null; } } } }