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