using DevExpress.XtraEditors;
using System;
using Yw.WinFrmUI;
namespace PBS.WinFrmUI.WE
{
public partial class EditWaterUtensilDlg : DevExpress.XtraEditors.XtraForm
{
public EditWaterUtensilDlg()
{
InitializeComponent();
// this.IconOptions.Icon = WinFrmUI.Properties.Resources.App;
// this.dataLayoutControl1.SetupLayoutControl();
}
///
/// 回调事件
///
public event Func> ReloadDataEvent;
///
/// 验证识别码是否存在事件
///
public event Func> VerifyTagNameExistEvent;
private PBS.Vmo.WE.UtensilVmo _model = null;
///
/// 绑定
///
public void SetBindingData(PBS.Vmo.WE.UtensilVmo model)
{
_model = model;
this.NameTextEdit.EditValue = _model.Name;
this.TagNameTextEdit.EditValue = _model.TagName;
this.DescriptionTextEdit.EditValue = _model.Description;
this.textEditRatedFlow.EditValue = _model.RatedFlow;
this.textEditMinRatedFlow.EditValue = _model.MinRatedFlow;
}
//验证
private async Task Valid()
{
this.dxErrorProvider1.ClearErrors();
if (string.IsNullOrEmpty(this.NameTextEdit.Text.Trim()))
{
this.dxErrorProvider1.SetError(this.NameTextEdit, "必填项");
return false;
}
var tagName = this.TagNameTextEdit.Text.Trim();
if (!string.IsNullOrEmpty(tagName))
{
if (_model.TagName != tagName)
{
if (VerifyTagNameExistEvent != null)
{
if (await VerifyTagNameExistEvent(tagName, _model.ID))
{
this.dxErrorProvider1.SetError(this.TagNameTextEdit, "重复");
return false;
}
}
}
}
return true;
}
//确定
private async void btnOk_Click(object sender, EventArgs e)
{
if (_model == null)
return;
if (!await Valid())
return;
_model.Name = this.NameTextEdit.Text.Trim();
_model.Description = this.DescriptionTextEdit.Text.Trim();
_model.TagName = this.TagNameTextEdit.Text.Trim();
if (double.TryParse(this.textEditMinRatedFlow.Text, out double minRatedFlow))
{
_model.MinRatedFlow = minRatedFlow;
}
if (double.TryParse(this.textEditRatedFlow.Text, out double ratedFlow))
{
_model.RatedFlow = ratedFlow;
}
if (this.ReloadDataEvent == null)
return;
if (!await this.ReloadDataEvent(_model))
{
MessageBoxHelper.ShowError("更新失败!");
return;
}
MessageBoxHelper.ShowSuccess("更新成功!");
this.DialogResult = System.Windows.Forms.DialogResult.OK;
this.Close();
}
}
}