namespace Yw.WinFrmUI { public partial class SetHydroPumpDlg : DevExpress.XtraEditors.XtraForm { public SetHydroPumpDlg() { InitializeComponent(); this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon; this.layoutControl1.SetupLayoutControl(); this.generalOkAndCancelCtrl1.OkEvent += GeneralOkAndCancelCtrl1_OkEvent; InitialLinkStatus(); } /// /// 重载数据事件 /// public event Action> ReloadDataEvent; //所有部件列表 private List _allParterList = null; /// /// 绑定数据 /// public void SetBindingData(Yw.Model.HydroPumpInfo parter) { var allParterList = parter == null ? null : new List() { parter }; SetBindingData(allParterList); } /// /// 绑定数据 /// public void SetBindingData(List allParterList) { _allParterList = allParterList; if (_allParterList != null && _allParterList.Count == 1) { var parter = _allParterList.First(); this.imgCmbLinkStatus.EditValue = parter.LinkStatus; this.txtCurrentHz.EditValue = Math.Round(parter.RatedHz * parter.SpeedRatio, 1); this.txtRatedQ.EditValue = parter.RatedQ; this.txtRatedH.EditValue = parter.RatedH; this.txtRatedP.EditValue = parter.RatedP; this.txtRatedN.EditValue = parter.RatedN; } } //初始化管段状态 private void InitialLinkStatus() { this.imgCmbLinkStatus.Properties.BeginUpdate(); this.imgCmbLinkStatus.Properties.Items.Clear(); this.imgCmbLinkStatus.Properties.Items.Add(HydroLinkStatusHelper.GetStatusName(Yw.Hydro.LinkStatus.Open), Yw.Hydro.LinkStatus.Open, -1); this.imgCmbLinkStatus.Properties.Items.Add(HydroLinkStatusHelper.GetStatusName(Yw.Hydro.LinkStatus.Closed), Yw.Hydro.LinkStatus.Closed, -1); this.imgCmbLinkStatus.Properties.EndUpdate(); } //验证 private bool Valid() { this.dxErrorProvider1.ClearErrors(); if (this.imgCmbLinkStatus.EditValue == null) { this.dxErrorProvider1.SetError(this.imgCmbLinkStatus, "必选项"); return false; } if (this.txtCurrentHz.EditValue == null) { this.dxErrorProvider1.SetError(this.txtCurrentHz, "必填项"); return false; } if (this.txtRatedP.EditValue == null) { this.dxErrorProvider1.SetError(this.txtRatedP, "必填项"); return false; } return true; } //确定 private void GeneralOkAndCancelCtrl1_OkEvent() { if (_allParterList == null || _allParterList.Count < 1) { return; } if (!Valid()) { return; } var linkStatus = this.imgCmbLinkStatus.EditValue.ToString(); var currentHz = double.Parse(this.txtCurrentHz.EditValue.ToString()); double? ratedQ = this.txtRatedQ.EditValue == null ? null : double.Parse(this.txtRatedQ.EditValue.ToString()); double? ratedH = this.txtRatedH.EditValue == null ? null : double.Parse(this.txtRatedH.EditValue.ToString()); var ratedP = double.Parse(this.txtRatedP.EditValue.ToString()); double? ratedN = this.txtRatedN.EditValue == null ? null : double.Parse(this.txtRatedN.EditValue.ToString()); _allParterList.ForEach(x => { x.LinkStatus = linkStatus; x.SpeedRatio = currentHz / x.RatedHz; x.RatedQ = ratedQ; x.RatedH = ratedH; x.RatedP = ratedP; x.RatedN = ratedN; }); this.ReloadDataEvent?.Invoke(_allParterList); this.DialogResult = DialogResult.OK; this.Close(); } } }