using DevExpress.XtraEditors;
using System;
namespace IStation.WinFrmUI.Basic
{
public partial class EditEquipmentDlg : DevExpress.XtraEditors.XtraForm
{
public EditEquipmentDlg()
{
InitializeComponent();
this.IconOptions.Icon = WinFrmUI.Properties.Resources.App;
this.dataLayoutControl1.SetupLayoutControl();
}
///
/// 回调事件
///
public event Func ReloadDataEvent;
///
/// 验证识别码是否存在事件
///
public event Func VerifyTagNameExistEvent;
private Model.Equipment _model = null;
///
/// 绑定
///
public void SetBindingData(Model.Equipment model)
{
if (model == null)
return;
_model = new Model.Equipment(model);
this.NameTextEdit.EditValue = _model.Name;
this.SupplierTextEdit.EditValue = _model.Supplier;
this.NOTextEdit.EditValue = _model.NO;
this.ModelTypeTextEdit.EditValue = _model.ModelType;
this.SpecificationTextEdit.EditValue = _model.Specification;
this.UnitNameTextEdit.EditValue = _model.UnitName;
this.QuantityTextEdit.EditValue = _model.Quantity;
this.TagNameTextEdit.EditValue = _model.TagName;
this.DescriptionTextEdit.EditValue = _model.Description;
this.ratedParasCtrl1.Set(_model.Catalog, _model.RatedParas);
this.selectFlagsPopupCtrl1.SetBindingData(_model.Flags);
}
//验证
private bool Valid()
{
this.dxErrorProvider1.ClearErrors();
if (string.IsNullOrEmpty(this.NameTextEdit.Text.Trim()))
{
this.dxErrorProvider1.SetError(this.NameTextEdit, "必填项");
return false;
}
if (!this.ratedParasCtrl1.Valid())
{
this.tabbedControlGroup1.SelectedTabPage = this.layoutControlGroupSpecialProperty;
return false;
}
var tagName = this.TagNameTextEdit.Text.Trim();
if (!string.IsNullOrEmpty(tagName))
{
if (VerifyTagNameExistEvent != null)
{
if (VerifyTagNameExistEvent(tagName, _model.ID))
{
this.dxErrorProvider1.SetError(this.TagNameTextEdit, "重复");
return false;
}
}
}
return true;
}
//确定
private void btnOk_Click(object sender, EventArgs e)
{
if (_model == null)
return;
if (!Valid())
return;
_model.Name = this.NameTextEdit.Text.Trim();
_model.NO = this.NOTextEdit.Text.Trim();
_model.Supplier = this.SupplierTextEdit.Text.Trim();
_model.ModelType = this.ModelTypeTextEdit.Text.Trim();
_model.Specification = this.SpecificationTextEdit.Text.Trim();
_model.UnitName = this.UnitNameTextEdit.Text.Trim();
if (int.TryParse(this.QuantityTextEdit.Text, out int quantity))
{
_model.Quantity = quantity;
}
_model.TagName = this.TagNameTextEdit.Text.Trim();
_model.Flags = this.selectFlagsPopupCtrl1.SelectedFlags;
_model.Description = this.DescriptionTextEdit.Text.Trim();
_model.RatedParas = this.ratedParasCtrl1.Get();
if (this.ReloadDataEvent == null)
return;
if (!this.ReloadDataEvent(_model))
{
XtraMessageBox.Show("更新失败!");
return;
}
XtraMessageBox.Show("更新成功!");
this.DialogResult = System.Windows.Forms.DialogResult.OK;
this.Close();
}
}
}