using Yw.Model;
namespace Yw.WinFrmUI
{
///
/// 阀门属性视图
///
public class HydroValvePropertyViewModel : HydroLinkPropertyViewModel
{
///
///
///
public HydroValvePropertyViewModel() { }
///
///
///
public HydroValvePropertyViewModel(Yw.Model.HydroValveInfo rhs) : base(rhs)
{
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.ValveType = rhs.ValveType;
this.UpdatePropStatus(nameof(this.ValveType), rhs, nameof(rhs.ValveType));
this.OpeningDegree = rhs.OpeningDegree;
this.UpdatePropStatus(nameof(this.OpeningDegree), rhs, nameof(rhs.OpeningDegree));
this.ValveSetting = rhs.ValveSetting;
this.UpdatePropStatus(nameof(this.ValveSetting), rhs, nameof(rhs.ValveSetting));
}
///
/// 阀门状态
///
[Category("数据")]
[DisplayName("阀门状态")]
[PropertyOrder(13)]
[Browsable(true)]
[TypeConverter(typeof(HydroValveStatusConverter))]
public override string LinkStatus { get; set; }
///
/// 材料
///
[Category("数据")]
[DisplayName("材料")]
[PropertyOrder(100)]
[Browsable(true)]
public string Material { get; set; }
///
/// 直径
///
[Category("数据")]
[DisplayName("直径")]
[PropertyOrder(101)]
[Browsable(true)]
[DisplayUnit("mm")]
public double Diameter { get; set; }
///
/// 局阻系数
///
[Category("数据")]
[DisplayName("局阻系数")]
[PropertyOrder(102)]
[Browsable(true)]
public double MinorLoss { get; set; }
///
/// 阀门类型
///
[Category("数据")]
[DisplayName("阀门类型")]
[PropertyOrder(103)]
[Browsable(true)]
[TypeConverter(typeof(HydroValveTypeConverter))]
public string ValveType { get; set; }
///
/// 阀门开度
///
[Category("数据")]
[DisplayName("阀门开度")]
[PropertyOrder(104)]
[Browsable(true)]
public double OpeningDegree { get; set; }
///
/// 阀门设置
///
[Category("数据")]
[DisplayName("阀门设置")]
[PropertyOrder(105)]
[IsHydroCurvePro(HydroCurve.ValveQL)]
[Browsable(true)]
public string ValveSetting { get; set; }
///
/// 更新属性
///
public override void UpdateProperty(HydroParterInfo rhs, List allParterList)
{
base.UpdateProperty(rhs, allParterList);
if (rhs is Yw.Model.HydroValveInfo hydroValveInfo)
{
this.Material = hydroValveInfo.Material;
this.UpdatePropStatus(nameof(this.Material), hydroValveInfo, nameof(hydroValveInfo.Material));
this.Diameter = hydroValveInfo.Diameter;
this.UpdatePropStatus(nameof(this.Diameter), hydroValveInfo, nameof(hydroValveInfo.Diameter));
this.MinorLoss = hydroValveInfo.MinorLoss;
this.UpdatePropStatus(nameof(this.MinorLoss), hydroValveInfo, nameof(hydroValveInfo.MinorLoss));
this.ValveType = hydroValveInfo.ValveType;
this.UpdatePropStatus(nameof(this.ValveType), hydroValveInfo, nameof(hydroValveInfo.ValveType));
this.OpeningDegree = hydroValveInfo.OpeningDegree;
this.UpdatePropStatus(nameof(this.OpeningDegree), hydroValveInfo, nameof(hydroValveInfo.OpeningDegree));
this.ValveSetting = hydroValveInfo.ValveSetting;
this.UpdatePropStatus(nameof(this.ValveSetting), hydroValveInfo, nameof(hydroValveInfo.ValveSetting));
}
}
}
}