namespace Yw.WinFrmUI { public partial class SetHydroFlowmeterDlg : DevExpress.XtraEditors.XtraForm { public SetHydroFlowmeterDlg() { InitializeComponent(); this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon; this.layoutControl1.SetupLayoutControl(); this.generalOkAndCancelCtrl1.OkEvent += GeneralOkAndCancelCtrl1_OkEvent; } /// /// 返回数据事件 /// public event Action> ReloadDataEvent; private List _allVisualList = null;//所有构件列表 private HydroChangeHelper _changeHelper = null;//改变辅助类 private HydroPropStatusHelper _propStatusHelper = null;//属性状态辅助类 /// /// 绑定数据 /// public void SetBindingData ( Yw.Model.HydroFlowmeterInfo 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 meter = _allVisualList.First(); this.txtElev.EditValue = Math.Round(meter.Elev, 4); this.txtMinorLoss.EditValue = meter.MinorLoss; } } private void GeneralOkAndCancelCtrl1_OkEvent() { if (_allVisualList == null || _allVisualList.Count < 1) { return; } double? elev = this.txtElev.EditValue == null ? null : double.Parse(this.txtElev.EditValue.ToString()); double? minorLoss = this.txtMinorLoss.EditValue == null ? null : double.Parse(this.txtMinorLoss.EditValue.ToString()); _allVisualList.ForEach(x => { if (elev.HasValue) { if (x.Elev != elev.Value) { _changeHelper.Append(x, eChangeType.Update); _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.Elev), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}通过设置组件修改"); } x.Elev = elev.Value; } if (minorLoss.HasValue) { if (x.MinorLoss != minorLoss.Value) { _changeHelper.Append(x, eChangeType.Update); _propStatusHelper?.UpdatePropStatus(x.Code, nameof(x.MinorLoss), Yw.Hydro.ePropStatus.Normal, $"{DateTime.Now.ToStandardString()}通过设置组件修改"); } x.MinorLoss = minorLoss.Value; } }); this.ReloadDataEvent?.Invoke(_allVisualList); this.DialogResult = DialogResult.OK; this.Close(); } } }