using DevExpress.XtraEditors; using System; using System.Windows.Forms; namespace IStation.WinFrmUI.Basic { public partial class EditPumpCurveInfoDlg : XtraForm { public EditPumpCurveInfoDlg() { InitializeComponent(); IconOptions.Icon = WinFrmUI.Properties.Resources.App; dataLayoutControl1.SetupLayoutControl(); } /// /// 回调事件 /// public event Func ReloadDataEvent; private Model.PumpCurve _model = null;//当前操作对象 /// /// 绑定数据 /// public void SetBindingData(Model.PumpCurve rhs) { _model = new Model.PumpCurve(rhs); txtID.EditValue = _model.ID; txtCurveCode.EditValue = _model.CurveCode; DescriptionMemoEdit.EditValue = _model.Description; imgCmbCurveSourceFrom.Properties.AddEnum(typeof(Model.eCurveSourceFrom), false); imgCmbCurveSourceFrom.EditValue = _model.SourceFrom; imgCmbCurveCreateMethod.Properties.AddEnum(typeof(Model.eCurveCreateMethod), false); imgCmbCurveCreateMethod.EditValue = _model.CreateMethod; var curveInfo = _model.CurveInfo; imgCmbQhCurveFitType.Properties.AddEnum(typeof(Model.eCurveFitType), false); imgCmbQhCurveFitType.EditValue = curveInfo?.CurveQH?.FitType; imgCmbQeCurveFitType.Properties.AddEnum(typeof(Model.eCurveFitType), false); imgCmbQeCurveFitType.EditValue = curveInfo?.CurveQE?.FitType; imgCmbQpCurveFitType.Properties.AddEnum(typeof(Model.eCurveFitType), false); imgCmbQpCurveFitType.EditValue = curveInfo?.CurveQP?.FitType; imgCmbReliabilityStatus.Properties.AddEnum(typeof(Model.PumpCurve.eReliabilityStatus), false); imgCmbReliabilityStatus.EditValue = _model.ReliabilityStatus; } //验证 private bool Valid() { dxErrorProvider1.ClearErrors(); if (string.IsNullOrEmpty(txtCurveCode.Text.Trim())) { dxErrorProvider1.SetError(txtCurveCode, "必填项"); return false; } return true; } //确定 private void btnOk_Click(object sender, EventArgs e) { if (!Valid()) return; _model.CurveCode = txtCurveCode.Text.Trim(); _model.Description = DescriptionMemoEdit.Text.Trim(); _model.SourceFrom = (Model.eCurveSourceFrom)imgCmbCurveSourceFrom.EditValue; _model.CreateMethod = (Model.eCurveCreateMethod)imgCmbCurveCreateMethod.EditValue; var fitTypeQh = (Model.eCurveFitType)imgCmbQhCurveFitType.EditValue; var fitPointsQh = _model.CurveInfo.CurveQH.DefinePoints; if (fitPointsQh == null) fitPointsQh = _model.CurveInfo.CurveQH.GetFitPoints(); var fitTypeQp = (Model.eCurveFitType)imgCmbQpCurveFitType.EditValue; var fitPointsQp = _model.CurveInfo.CurveQP.DefinePoints; if (fitPointsQp == null) fitPointsQp = _model.CurveInfo.CurveQP.GetFitPoints(); var fitTypeQe = (Model.eCurveFitType)imgCmbQeCurveFitType.EditValue; var fitPointsQe = _model.CurveInfo.CurveQE.DefinePoints; if (fitPointsQe == null) fitPointsQe = _model.CurveInfo.CurveQE.GetFitPoints(); _model.CurveInfo.CurveQH = Model.FitCurveHelper.BuildCurveExpress(fitPointsQh, fitTypeQh); _model.CurveInfo.CurveQE = Model.FitCurveHelper.BuildCurveExpress(fitPointsQe, fitTypeQe); _model.CurveInfo.CurveQP = Model.FitCurveHelper.BuildCurveExpress(fitPointsQp, fitTypeQp); _model.ReliabilityStatus = (Model.PumpCurve.eReliabilityStatus)imgCmbReliabilityStatus.EditValue; var result = ReloadDataEvent?.Invoke(_model); if (result == null || !result.Value) { XtraMessageBox.Show("更新失败!"); return; } XtraMessageBox.Show("更新成功!"); DialogResult = DialogResult.OK; Close(); } } }