| | |
| | | /// <summary> |
| | | /// 管道视图 |
| | | /// </summary> |
| | | public class HydroPipeViewModel : HydroLinkViewModel |
| | | public class HydroPipeViewModel : HydroLinkViewModel, IHydroCalcuPipeResult |
| | | { |
| | | /// <summary> |
| | | /// |
| | |
| | | public HydroPipeViewModel(Yw.Model.HydroPipeInfo rhs, Yw.Model.HydroModelInfo hydroInfo) : base(rhs, hydroInfo) |
| | | { |
| | | this.Material = rhs.Material; |
| | | this.UpdatePropStatus(nameof(this.Material), rhs, nameof(rhs.Material)); |
| | | this.Diameter = Math.Round(rhs.Diameter, 0); |
| | | this.UpdatePropStatus(nameof(this.Diameter), rhs, nameof(rhs.Diameter)); |
| | | this.Length = Math.Round(rhs.Length, 4); |
| | | this.UpdatePropStatus(nameof(this.Length), rhs, nameof(rhs.Length)); |
| | | this.Roughness = rhs.Roughness; |
| | | this.UpdatePropStatus(nameof(this.Roughness), rhs, nameof(rhs.Roughness)); |
| | | this.MinorLoss = rhs.MinorLoss; |
| | | this.UpdatePropStatus(nameof(this.MinorLoss), rhs, nameof(rhs.MinorLoss)); |
| | | |
| | | this.Vmo = rhs; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 管道状态 |
| | | /// </summary> |
| | | [Category("数据")] |
| | | [DisplayName("管道状态")] |
| | | [PropertyOrder(1003)] |
| | | [Browsable(true)] |
| | | [TypeConverter(typeof(HydroPipeStatusConverter))] |
| | | public override string LinkStatus { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 材质 |
| | |
| | | [Display(Name = "直径(mm)")] |
| | | [DisplayName("直径")] |
| | | [DisplayUnit("mm")] |
| | | [Range(1, double.MaxValue)] |
| | | [PropertyOrder(2002)] |
| | | [Browsable(true)] |
| | | public double Diameter { get; set; } |
| | | public virtual double Diameter { get; set; } |
| | | |
| | | /// <summary> |
| | | /// 长度 |
| | |
| | | [Browsable(true)] |
| | | public double MinorLoss { 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/s")] |
| | | [Display(Name = "流速(m/s)")] |
| | | [PropertyOrder(19007)] |
| | | [HydroCalcuPro] |
| | | [ShowEditor(false)] |
| | | [Browsable(true)] |
| | | public override double? CalcuVelocity { 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> |
| | | [Category("计算结果")] |
| | | [DisplayName("沿程损失")] |
| | | [DisplayUnit("m")] |
| | | [Display(Name = "沿程损失(m)")] |
| | | [PropertyOrder(19009)] |
| | | [HydroCalcuPro] |
| | | [ShowEditor(false)] |
| | | [Browsable(true)] |
| | | public override double? CalcuFrictionLoss { get; set; } |
| | | |
| | | /// <summary> |
| | | /// |
| | | /// </summary> |
| | | [Browsable(false)] |
| | | public new Yw.Model.HydroPipeInfo Vmo { get; set; } |
| | | |
| | | |
| | | public new Yw.Model.HydroPipeInfo Vmo |
| | | { |
| | | get { return _vmo as Yw.Model.HydroPipeInfo; } |
| | | set { _vmo = value; } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 更新属性 |
| | |
| | | { |
| | | base.UpdateProperty(); |
| | | 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.Length = Math.Round(this.Vmo.Length, 4); |
| | | this.UpdatePropStatus(nameof(this.Length), this.Vmo, nameof(this.Vmo.Length)); |
| | | this.Roughness = this.Vmo.Roughness; |
| | | this.UpdatePropStatus(nameof(this.Roughness), this.Vmo, nameof(this.Vmo.Roughness)); |
| | | this.MinorLoss = this.Vmo.MinorLoss; |
| | | this.UpdatePropStatus(nameof(this.MinorLoss), this.Vmo, nameof(this.Vmo.MinorLoss)); |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | { |
| | | base.UpdateVmoProperty(); |
| | | 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.Length = this.Length; |
| | | this.Vmo.UpdatePropStatus(nameof(this.Vmo.Length), this, nameof(this.Length)); |
| | | this.Vmo.Roughness = this.Roughness; |
| | | this.Vmo.UpdatePropStatus(nameof(this.Vmo.Roughness), this, nameof(this.Roughness)); |
| | | this.Vmo.MinorLoss = this.MinorLoss; |
| | | this.Vmo.UpdatePropStatus(nameof(this.Vmo.MinorLoss), this, nameof(this.MinorLoss)); |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 更新计算属性 |
| | | /// </summary> |
| | | public override void UpdateCalcuProperty(HydroCalcuVisualResult rhs) |
| | | { |
| | | base.UpdateCalcuProperty(rhs); |
| | | if (rhs is HydroCalcuPipeResult calcuPipeProperty) |
| | | { |
| | | this.CalcuQ = calcuPipeProperty.CalcuQ.HasValue ? Math.Round(calcuPipeProperty.CalcuQ.Value, 1) : null; |
| | | this.CalcuPr1 = calcuPipeProperty.CalcuPr1.HasValue ? Math.Round(calcuPipeProperty.CalcuPr1.Value, 2) : null; |
| | | this.CalcuPr2 = calcuPipeProperty.CalcuPr2.HasValue ? Math.Round(calcuPipeProperty.CalcuPr2.Value, 2) : null; |
| | | } |
| | | } |
| | | |
| | | } |
| | | } |