using HStation.Assets;
namespace HStation.WinFrmUI
{
///
/// 阀门匹配ViewModel
///
public class ValveMatchingViewModel
{
///
///
///
public ValveMatchingViewModel()
{ }
///
///
///
public ValveMatchingViewModel(Yw.Model.HydroValveInfo rhs, Yw.Model.HydroModelInfo hydroInfo, List allCalcuResult)
{
this.Name = rhs.Name;
this.Code = rhs.Code;
this.ModelType = rhs.ModelType;
this.DbLocked = rhs.DbLocked;
this.DbId = rhs.DbId;
this.CurveDbId = hydroInfo.Curves?.Find(x => x.Code == rhs.ValveSetting)?.DbId;
this.Material = rhs.Material;
this.Diameter = rhs.Diameter;
this.MinorLoss = rhs.MinorLoss;
switch (rhs.ValveType)
{
case Yw.Hydro.ValveType.PRV: this.ValveType = HStation.Assets.eValveType.PRV; break;
case Yw.Hydro.ValveType.PSV: this.ValveType = HStation.Assets.eValveType.PSV; break;
case Yw.Hydro.ValveType.PBV: this.ValveType = HStation.Assets.eValveType.PBV; break;
case Yw.Hydro.ValveType.TCV: this.ValveType = HStation.Assets.eValveType.TCV; break;
case Yw.Hydro.ValveType.FCV: this.ValveType = HStation.Assets.eValveType.FCV; break;
case Yw.Hydro.ValveType.GPV: this.ValveType = HStation.Assets.eValveType.GPV; break;
case Yw.Hydro.ValveType.CV: this.ValveType = HStation.Assets.eValveType.CV; break;
default: break;
}
this.ValveSetting = rhs.ValveSetting;
}
///
/// ID
///
[DisplayName("ID")]
[Browsable(false)]
public long ID { get; set; }
///
/// 编码
///
[DisplayName("编码")]
[Browsable(true)]
public string Code { get; set; }
///
/// 名称
///
[DisplayName("名称")]
[Browsable(true)]
public string Name { get; set; }
///
/// Db锁定
///
[DisplayName("锁定")]
[Browsable(true)]
public bool DbLocked { get; set; }
///
/// 型号
///
[DisplayName("型号")]
[Browsable(true)]
public string ModelType { get; set; }
///
/// DbId
///
[DisplayName("DbId")]
[Browsable(false)]
public string DbId { get; set; }
///
/// CurveDbId
///
[DisplayName("CurveDbId")]
[Browsable(false)]
public string CurveDbId { get; set; }
///
/// 直径
///
[DisplayName("直径")]
[Browsable(true)]
public double Diameter { get; set; }
///
/// 材质
///
[DisplayName("材质")]
[Browsable(true)]
public string Material { get; set; }
///
/// 损失系数
///
[DisplayName("损失系数")]
[Browsable(true)]
public double MinorLoss { get; set; }
///
/// 阀门类型
///
[DisplayName("阀门类型")]
[Browsable(true)]
public HStation.Assets.eValveType ValveType { get; set; }
///
/// 阀门设置
///
[DisplayName("阀门设置")]
[Browsable(true)]
public string ValveSetting { get; set; }
///
/// 匹配型号
///
[DisplayName("匹配型号")]
[Browsable(true)]
public string MatchingModelType { get; set; }
///
/// 匹配Dbid
///
[DisplayName("MatchingDbId")]
[Browsable(false)]
public string MatchingDbId { get; set; }
///
/// 匹配直径
///
[DisplayName("匹配直径")]
[Browsable(true)]
public double? MatchingDiameter { get; set; }
///
/// MatchingCurveDbId
///
[DisplayName("MatchingCurveDbId")]
[Browsable(false)]
public string MatchingCurveDbId { get; set; }
///
/// 匹配材质
///
[DisplayName("匹配材质")]
[Browsable(true)]
public string MatchingMaterial { get; set; }
///
/// 匹配损失系数
///
[DisplayName("匹配损失系数")]
[Browsable(true)]
public double? MatchingMinorLoss { get; set; }
///
/// 匹配阀门类型
///
[DisplayName("匹配阀门类型")]
[Browsable(true)]
public HStation.Assets.eValveType? MatchingValveType { get; set; }
///
/// 匹配阀门设置
///
[DisplayName("匹配阀门设置")]
[Browsable(true)]
public string MatchingValveSetting { get; set; }
///
/// 匹配水头损失曲线
///
[DisplayName("匹配水头损失曲线")]
[Browsable(false)]
public List MatchingCurveQL { get; set; }
///
/// 匹配开度损失曲线
///
[DisplayName("匹配开度损失曲线")]
[Browsable(false)]
public List MatchingCurveOL { get; set; }
}
}