| | |
| | | /// <summary> |
| | | /// 组件视图 |
| | | /// </summary> |
| | | public class HydroResistanceViewModel : HydroLinkViewModel |
| | | public class HydroResistanceViewModel : HydroLinkViewModel, IHydroCalcuResistanceResult |
| | | { |
| | | /// <summary> |
| | | /// |
| | |
| | | public HydroResistanceViewModel(Yw.Model.HydroResistanceInfo rhs, Yw.Model.HydroModelInfo hydroInfo) : base(rhs, hydroInfo) |
| | | { |
| | | this.LinkStatus = HydroResistanceStatusHelper.GetStatusName(rhs.LinkStatus); |
| | | this.UpdatePropStatus(nameof(this.LinkStatus), rhs, nameof(rhs.LinkStatus)); |
| | | this.Material = rhs.Material; |
| | | this.UpdatePropStatus(nameof(this.Material), rhs, nameof(rhs.Material)); |
| | | this.Diameter = rhs.Diameter; |
| | | this.UpdatePropStatus(nameof(this.Diameter), rhs, nameof(rhs.Diameter)); |
| | | this.MinorLoss = rhs.MinorLoss; |
| | | this.UpdatePropStatus(nameof(this.MinorLoss), rhs, nameof(rhs.MinorLoss)); |
| | | this.CurveQL = rhs.CurveQL; |
| | | this.UpdatePropStatus(nameof(this.CurveQL), rhs, nameof(rhs.CurveQL)); |
| | | |
| | | this.Vmo = rhs; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 开关状态 |
| | | /// 模式 |
| | | /// </summary> |
| | | [Category("数据")] |
| | | [DisplayName("开关状态")] |
| | | [Display(Name = "开关状态")] |
| | | [Description("[默认]使用水头损失曲线;[开启]使用局阻系数")] |
| | | [DisplayName("模式")] |
| | | [Display(Name = "模式")] |
| | | [PropertyOrder(103)] |
| | | [Browsable(true)] |
| | | [TypeConverter(typeof(HydroResistanceStatusConverter))] |
| | |
| | | /// </summary> |
| | | [Category("数据")] |
| | | [DisplayName("水头损失曲线")] |
| | | [HydroCurvePro(HydroCurve.ResistanceQL, HydroCurveType.CurveQL)] |
| | | [HydroCurvePro(HydroCurve.Resistance, HydroCurveType.CurveQL)] |
| | | [PropertyOrder(1004)] |
| | | [Browsable(true)] |
| | | [Browsable(false)] |
| | | public virtual string Curve |
| | | { |
| | | get |
| | |
| | | [Category("数据")] |
| | | [DisplayName("水头损失曲线")] |
| | | [PropertyOrder(1005)] |
| | | [HydroCurvePro(HydroCurve.ResistanceQL, HydroCurveType.CurveQL)] |
| | | [HydroCurvePro(HydroCurve.Resistance, HydroCurveType.CurveQL)] |
| | | [Browsable(true)] |
| | | public virtual string CurveQL { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 沿程损失 |
| | | /// </summary> |
| | | [Category("计算结果")] |
| | | [DisplayName("沿程损失")] |
| | | [Display(Name = "沿程损失(m)")] |
| | | [PropertyOrder(19009)] |
| | | [DisplayUnit("m")] |
| | | [HydroCalcuPro] |
| | | [ShowEditor(false)] |
| | | [Browsable(false)] |
| | | public string CurveQL { get; set; } |
| | | public override double? CalcuFrictionLoss { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 流量 |
| | | /// </summary> |
| | | [Category("计算结果")] |
| | | [DisplayName("流量")] |
| | | [DisplayUnit("m³/h")] |
| | | [Display(Name = "流量(m³/h)")] |
| | | [PropertyOrder(11001)] |
| | | [HydroCalcuPro] |
| | | [ShowEditor(false)] |
| | | [Browsable(true)] |
| | | public virtual double? CalcuQ { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 进口压力 |
| | | /// </summary> |
| | | [Category("计算结果")] |
| | | [DisplayName("进口压力")] |
| | | [DisplayUnit("m")] |
| | | [Display(Name = "进口压力(m)")] |
| | | [PropertyOrder(11002)] |
| | | [HydroCalcuPro] |
| | | [ShowEditor(false)] |
| | | [Browsable(true)] |
| | | public virtual double? CalcuPr1 { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 出口压力 |
| | | /// </summary> |
| | | [Category("计算结果")] |
| | | [DisplayName("出口压力")] |
| | | [DisplayUnit("m")] |
| | | [Display(Name = "出口压力(m)")] |
| | | [PropertyOrder(11003)] |
| | | [HydroCalcuPro] |
| | | [ShowEditor(false)] |
| | | [Browsable(true)] |
| | | public virtual double? CalcuPr2 { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 局部损失 |
| | | /// </summary> |
| | | [Category("计算结果")] |
| | | [DisplayName("局部损失")] |
| | | [DisplayUnit("m")] |
| | | [Display(Name = "局部损失(m)")] |
| | | [PropertyOrder(19008)] |
| | | [HydroCalcuPro] |
| | | [ShowEditor(false)] |
| | | [Browsable(true)] |
| | | public override double? CalcuMinorLoss { get; set; } |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | [Browsable(false)] |
| | | public new Yw.Model.HydroResistanceInfo Vmo { get; set; } |
| | | public new Yw.Model.HydroResistanceInfo Vmo |
| | | { |
| | | get { return _vmo as Yw.Model.HydroResistanceInfo; } |
| | | set { _vmo = value; } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// |
| | |
| | | { |
| | | base.UpdateProperty(); |
| | | this.LinkStatus = HydroResistanceStatusHelper.GetStatusName(this.Vmo.LinkStatus); |
| | | this.UpdatePropStatus(nameof(this.LinkStatus), this.Vmo, nameof(this.Vmo.LinkStatus)); |
| | | this.Material = this.Vmo.Material; |
| | | this.UpdatePropStatus(nameof(this.Material), this.Vmo, nameof(this.Vmo.Material)); |
| | | this.Diameter = this.Vmo.Diameter; |
| | | this.UpdatePropStatus(nameof(this.Diameter), this.Vmo, nameof(this.Vmo.Diameter)); |
| | | this.MinorLoss = this.Vmo.MinorLoss; |
| | | this.UpdatePropStatus(nameof(this.MinorLoss), this.Vmo, nameof(this.Vmo.MinorLoss)); |
| | | this.CurveQL = this.Vmo.CurveQL; |
| | | this.UpdatePropStatus(nameof(this.CurveQL), this.Vmo, nameof(this.Vmo.CurveQL)); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | { |
| | | base.UpdateVmoProperty(); |
| | | this.Vmo.LinkStatus = HydroResistanceStatusHelper.GetStatusCode(this.LinkStatus); |
| | | this.Vmo.UpdatePropStatus(nameof(this.Vmo.LinkStatus), this, nameof(this.LinkStatus)); |
| | | this.Vmo.Material = this.Material; |
| | | this.Vmo.UpdatePropStatus(nameof(this.Vmo.Material), this, nameof(this.Material)); |
| | | this.Vmo.Diameter = this.Diameter; |
| | | this.Vmo.UpdatePropStatus(nameof(this.Vmo.Diameter), this, nameof(this.Diameter)); |
| | | this.Vmo.MinorLoss = this.MinorLoss; |
| | | this.Vmo.UpdatePropStatus(nameof(this.Vmo.MinorLoss), this, nameof(this.MinorLoss)); |
| | | this.Vmo.CurveQL = this.CurveQL; |
| | | this.Vmo.UpdatePropStatus(nameof(this.Vmo.CurveQL), this, nameof(this.CurveQL)); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 更新计算属性 |
| | | /// </summary> |
| | | public override void UpdateCalcuProperty(HydroCalcuVisualResult rhs) |
| | | { |
| | | base.UpdateCalcuProperty(rhs); |
| | | if (rhs is HydroCalcuResistanceResult calcuResistanceProperty) |
| | | { |
| | | this.CalcuQ = calcuResistanceProperty.CalcuQ.HasValue ? Math.Round(calcuResistanceProperty.CalcuQ.Value, 1) : null; |
| | | this.CalcuPr1 = calcuResistanceProperty.CalcuPr1.HasValue ? Math.Round(calcuResistanceProperty.CalcuPr1.Value, 2) : null; |
| | | this.CalcuPr2 = calcuResistanceProperty.CalcuPr2.HasValue ? Math.Round(calcuResistanceProperty.CalcuPr2.Value, 2) : null; |
| | | } |
| | | } |
| | | |
| | | |