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 _allVisualList = null;//所有部件列表 private HydroChangeHelper _changeHelper = null;//改变辅助类 private HydroPropStatusHelper _propStatusHelper = null;//属性状态辅助类 /// /// 绑定数据 /// public void SetBindingData ( Yw.Model.HydroPumpInfo visual, HydroChangeHelper changeHelper = null, HydroPropStatusHelper propStatusHelper = null ) { var allVisualList = visual == null ? null : new List() { visual }; SetBindingData(allVisualList, changeHelper, propStatusHelper); } /// /// 绑定数据 /// public void SetBindingData ( List allVisualList, HydroChangeHelper changeHelper = null, HydroPropStatusHelper propStatusHelper = null ) { _allVisualList = allVisualList; _changeHelper = changeHelper; _propStatusHelper = propStatusHelper; if (_allVisualList != null && _allVisualList.Count == 1) { var visual = _allVisualList.First(); this.imgCmbLinkStatus.EditValue = visual.LinkStatus; this.txtCurrentHz.EditValue = Math.Round(visual.RatedHz * visual.SpeedRatio, 1); this.txtRatedQ.EditValue = visual.RatedQ; this.txtRatedH.EditValue = visual.RatedH; this.txtRatedP.EditValue = visual.RatedP; this.txtRatedN.EditValue = visual.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 void GeneralOkAndCancelCtrl1_OkEvent() { if (_allVisualList == null || _allVisualList.Count < 1) { return; } var linkStatus = this.imgCmbLinkStatus.EditValue?.ToString(); double? currentHz = this.txtCurrentHz.EditValue == null ? null : 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()); double? ratedP = this.txtRatedP.EditValue == null ? null : double.Parse(this.txtRatedP.EditValue.ToString()); double? ratedN = this.txtRatedN.EditValue == null ? null : double.Parse(this.txtRatedN.EditValue.ToString()); _allVisualList.ForEach(x => { if (!string.IsNullOrEmpty(linkStatus)) { if (x.LinkStatus != linkStatus) { _changeHelper.Append(x, eChangeType.Update); _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.LinkStatus), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}通过设置组件修改"); } x.LinkStatus = linkStatus; } if (currentHz.HasValue) { var speedRatio = currentHz.Value / x.RatedHz; if (x.SpeedRatio != speedRatio) { _changeHelper.Append(x, eChangeType.Update); _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.SpeedRatio), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}通过设置组件修改"); } x.SpeedRatio = speedRatio; } if (ratedQ.HasValue) { if (x.RatedQ != ratedQ.Value) { _changeHelper.Append(x, eChangeType.Update); _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.RatedQ), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}通过设置组件修改"); } x.RatedQ = ratedQ.Value; } if (ratedH.HasValue) { if (x.RatedH != ratedH.Value) { _changeHelper.Append(x, eChangeType.Update); _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.RatedH), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}通过设置组件修改"); } x.RatedH = ratedH.Value; } if (ratedP.HasValue) { if (x.RatedP != ratedP.Value) { _changeHelper.Append(x, eChangeType.Update); _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.RatedP), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}通过设置组件修改"); } x.RatedP = ratedP.Value; } if (ratedN.HasValue) { if (x.RatedN != ratedN.Value) { _changeHelper.Append(x, eChangeType.Update); _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.RatedN), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}通过设置组件修改"); } x.RatedN = ratedN.Value; } }); this.ReloadDataEvent?.Invoke(_allVisualList); this.DialogResult = DialogResult.OK; this.Close(); } } }