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