namespace Yw.WinFrmUI
|
{
|
/// <summary>
|
/// 水池视图
|
/// </summary>
|
public class HydroTankViewModel : HydroSourceViewModel
|
{
|
/// <summary>
|
///
|
/// </summary>
|
public HydroTankViewModel() { }
|
|
/// <summary>
|
///
|
/// </summary>
|
public HydroTankViewModel(Yw.Model.HydroTankInfo rhs, Yw.Model.HydroModelInfo hydroInfo) : base(rhs, hydroInfo)
|
{
|
this.PoolElev = Math.Round(rhs.PoolElev, 4);
|
this.UpdatePropStatus(nameof(this.PoolElev), rhs, nameof(rhs.PoolElev));
|
this.InitLevel = Math.Round(rhs.InitLevel, 4);
|
this.UpdatePropStatus(nameof(this.InitLevel), rhs, nameof(rhs.InitLevel));
|
this.MinLevel = Math.Round(rhs.MinLevel, 4);
|
this.UpdatePropStatus(nameof(this.MinLevel), rhs, nameof(rhs.MinLevel));
|
this.MaxLevel = Math.Round(rhs.MaxLevel, 4);
|
this.UpdatePropStatus(nameof(this.MaxLevel), rhs, nameof(rhs.MaxLevel));
|
this.DN = Math.Round(rhs.DN, 4);
|
this.UpdatePropStatus(nameof(this.DN), rhs, nameof(rhs.DN));
|
this.MinVol = Math.Round(rhs.MinVol, 4);
|
this.UpdatePropStatus(nameof(this.MinVol), rhs, nameof(rhs.MinVol));
|
this.VolCurve = rhs.VolCurve;
|
this.UpdatePropStatus(nameof(this.VolCurve), rhs, nameof(rhs.VolCurve));
|
this.OverFlow = rhs.OverFlow;
|
this.UpdatePropStatus(nameof(this.OverFlow), rhs, nameof(rhs.OverFlow));
|
|
this.Vmo = rhs;
|
}
|
|
/// <summary>
|
/// 池底标高
|
/// </summary>
|
[Category("数据")]
|
[DisplayName("池底标高")]
|
[DisplayUnit("m")]
|
[Display(Name = "池底标高(m)")]
|
[IsHydroMarkPro]
|
[PropertyOrder(1001)]
|
[Browsable(true)]
|
public double PoolElev { get; set; }
|
|
/// <summary>
|
/// 初始水位
|
/// </summary>
|
[Category("数据")]
|
[DisplayName("初始水位")]
|
[DisplayUnit("m")]
|
[Display(Name = "初始水位(m)")]
|
[IsHydroMarkPro]
|
[PropertyOrder(1002)]
|
[Browsable(true)]
|
public double InitLevel { get; set; }
|
|
/// <summary>
|
/// 最低水位
|
/// </summary>
|
[Category("数据")]
|
[DisplayName("最低水位")]
|
[DisplayUnit("m")]
|
[Display(Name = "最低水位(m)")]
|
[IsHydroMarkPro]
|
[PropertyOrder(1003)]
|
[Browsable(true)]
|
public double MinLevel { get; set; }
|
|
/// <summary>
|
/// 最高水位
|
/// </summary>
|
[Category("数据")]
|
[DisplayName("最高水位")]
|
[DisplayUnit("m")]
|
[Display(Name = "最高水位(m)")]
|
[IsHydroMarkPro]
|
[PropertyOrder(1004)]
|
[Browsable(true)]
|
public double MaxLevel { get; set; }
|
|
/// <summary>
|
/// 公称直径
|
/// </summary>
|
[Category("数据")]
|
[DisplayName("公称直径")]
|
[DisplayUnit("m")]
|
[Display(Name = "公称直径(m)")]
|
[IsHydroMarkPro]
|
[PropertyOrder(1005)]
|
[Browsable(true)]
|
public double DN { get; set; }
|
|
/// <summary>
|
/// 最小容积
|
/// </summary>
|
[Category("数据")]
|
[DisplayName("最小容积")]
|
[DisplayUnit("m³")]
|
[Display(Name = "最小容积(m³)")]
|
[IsHydroMarkPro]
|
[PropertyOrder(1006)]
|
[Browsable(true)]
|
public double MinVol { get; set; }
|
|
/// <summary>
|
/// 容积曲线
|
/// </summary>
|
[Category("数据")]
|
[DisplayName("容积曲线")]
|
[Display(Name = "容积曲线")]
|
[PropertyOrder(1007)]
|
[IsHydroCurvePro(HydroCurve.Tank)]
|
[Browsable(true)]
|
public string Curve
|
{
|
get
|
{
|
if (string.IsNullOrEmpty(this.VolCurve))
|
{
|
return "未配置";
|
}
|
return "已配置";
|
}
|
}
|
|
/// <summary>
|
/// 容积曲线
|
/// </summary>
|
[Category("数据")]
|
[DisplayName("容积曲线")]
|
[Display(Name = "容积曲线")]
|
[PropertyOrder(1008)]
|
[IsHydroCurvePro(HydroCurve.TankVol)]
|
[Browsable(false)]
|
public string VolCurve { get; set; }
|
|
/// <summary>
|
/// 允许溢流
|
/// </summary>
|
[Category("数据")]
|
[DisplayName("允许溢流")]
|
[Display(Name = "允许溢流")]
|
[PropertyOrder(1009)]
|
[Browsable(true)]
|
public bool OverFlow { get; set; }
|
|
/// <summary>
|
///
|
/// </summary>
|
[Browsable(false)]
|
public new Yw.Model.HydroTankInfo Vmo { get; set; }
|
|
/// <summary>
|
///
|
/// </summary>
|
public override void UpdateProperty()
|
{
|
base.UpdateProperty();
|
this.PoolElev = Math.Round(this.Vmo.PoolElev, 4);
|
this.UpdatePropStatus(nameof(this.PoolElev), this.Vmo, nameof(this.Vmo.PoolElev));
|
this.InitLevel = Math.Round(this.Vmo.InitLevel, 4);
|
this.UpdatePropStatus(nameof(this.InitLevel), this.Vmo, nameof(this.Vmo.InitLevel));
|
this.MinLevel = Math.Round(this.Vmo.MinLevel, 4);
|
this.UpdatePropStatus(nameof(this.MinLevel), this.Vmo, nameof(this.Vmo.MinLevel));
|
this.MaxLevel = Math.Round(this.Vmo.MaxLevel, 4);
|
this.UpdatePropStatus(nameof(this.MaxLevel), this.Vmo, nameof(this.Vmo.MaxLevel));
|
this.DN = Math.Round(this.Vmo.DN, 4);
|
this.UpdatePropStatus(nameof(this.DN), this.Vmo, nameof(this.Vmo.DN));
|
this.MinVol = Math.Round(this.Vmo.MinVol, 4);
|
this.UpdatePropStatus(nameof(this.MinVol), this.Vmo, nameof(this.Vmo.MinVol));
|
this.VolCurve = this.Vmo.VolCurve;
|
this.UpdatePropStatus(nameof(this.VolCurve), this.Vmo, nameof(this.Vmo.VolCurve));
|
this.OverFlow = this.Vmo.OverFlow;
|
this.UpdatePropStatus(nameof(this.OverFlow), this.Vmo, nameof(this.Vmo.OverFlow));
|
}
|
|
/// <summary>
|
///
|
/// </summary>
|
public override void UpdateVmoProperty()
|
{
|
base.UpdateVmoProperty();
|
this.Vmo.PoolElev = Math.Round(this.PoolElev, 4);
|
this.Vmo.UpdatePropStatus(nameof(this.Vmo.PoolElev), this, nameof(this.PoolElev));
|
this.Vmo.InitLevel = Math.Round(this.InitLevel, 4);
|
this.Vmo.UpdatePropStatus(nameof(this.Vmo.InitLevel), this, nameof(this.InitLevel));
|
this.Vmo.MinLevel = Math.Round(this.MinLevel, 4);
|
this.Vmo.UpdatePropStatus(nameof(this.Vmo.MinLevel), this, nameof(this.MinLevel));
|
this.Vmo.MaxLevel = Math.Round(this.MaxLevel, 4);
|
this.Vmo.UpdatePropStatus(nameof(this.Vmo.MaxLevel), this, nameof(this.MaxLevel));
|
this.Vmo.DN = Math.Round(this.DN, 4);
|
this.Vmo.UpdatePropStatus(nameof(this.Vmo.DN), this, nameof(this.DN));
|
this.Vmo.MinVol = Math.Round(this.MinVol, 4);
|
this.Vmo.UpdatePropStatus(nameof(this.Vmo.MinVol), this, nameof(this.MinVol));
|
this.Vmo.VolCurve = this.VolCurve;
|
this.Vmo.UpdatePropStatus(nameof(this.Vmo.VolCurve), this, nameof(this.VolCurve));
|
this.Vmo.OverFlow = this.OverFlow;
|
this.Vmo.UpdatePropStatus(nameof(this.Vmo.OverFlow), this, nameof(this.OverFlow));
|
}
|
|
|
|
}
|
}
|