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();
}
}
}