using DevExpress.XtraEditors;
|
using IStation.Unit;
|
using System;
|
using System.Windows.Forms;
|
|
namespace IStation.WinFrmUI.Basic
|
{
|
public partial class AddEnumSignalTypeDlg : DevExpress.XtraEditors.XtraForm
|
{
|
public AddEnumSignalTypeDlg()
|
{
|
InitializeComponent();
|
this.IconOptions.Icon = WinFrmUI.Properties.Resources.App;
|
this.dataLayoutControl1.SetupLayoutControl();
|
}
|
|
/// <summary>
|
/// 验证识别标识的唯一性
|
/// </summary>
|
public event Func<string, bool> ValidIdentifierUniqueEvent;
|
/// <summary>
|
/// 返回数据事件
|
/// </summary>
|
public event Action<Model.SignalType> ReloadDataEvent;
|
|
private Model.SignalType _model = null;//当前操作对象
|
|
/// <summary>
|
/// 绑定数据
|
/// </summary>
|
public void SetBindingData(long GroupID, int SortCode)
|
{
|
this.Text = "添加枚举信号类型";
|
_model = new Model.SignalType();
|
_model.GroupID = GroupID;
|
_model.UnitType = eUnitType.未知;
|
_model.UnitValue = string.Empty;
|
_model.ValueType = Model.Monitor.eValueType.Enum;
|
_model.SortCode = SortCode;
|
this.setEnumValueSettingsCtrl1.Set(null);
|
}
|
|
//验证
|
private bool Valid()
|
{
|
this.dxErrorProvider1.ClearErrors();
|
if (string.IsNullOrEmpty(this.NameTextEdit.Text.Trim()))
|
{
|
this.dxErrorProvider1.SetError(this.NameTextEdit, "必填项");
|
return false;
|
}
|
var identifier = this.IdentifierTextEdit.Text.Trim();
|
if (string.IsNullOrEmpty(identifier))
|
{
|
this.dxErrorProvider1.SetError(this.IdentifierTextEdit, "必填项");
|
return false;
|
}
|
if (this.ValidIdentifierUniqueEvent != null)
|
{
|
|
if (!this.ValidIdentifierUniqueEvent(identifier))
|
{
|
this.dxErrorProvider1.SetError(this.IdentifierTextEdit, "标识重复");
|
return false;
|
}
|
}
|
if (!this.setEnumValueSettingsCtrl1.Valid(out string msg))
|
{
|
XtraMessageBox.Show(msg);
|
return false;
|
}
|
return true;
|
}
|
|
private void btnOK_Click(object sender, EventArgs e)
|
{
|
if (!Valid())
|
return;
|
|
_model.Name = this.NameTextEdit.Text.Trim();
|
_model.Identifier = this.IdentifierTextEdit.Text.Trim();
|
_model.TagName = this.TagNameTextEdit.Text.Trim();
|
_model.ValueSettings = this.setEnumValueSettingsCtrl1.Get();
|
_model.Description = this.DescriptionMemoEdit.Text.Trim();
|
|
var bll = new BLL.Scatl.SignalType();
|
var id = bll.Insert(_model);
|
if (id < 1)
|
{
|
XtraMessageBox.Show("添加失败!");
|
return;
|
}
|
|
if (this.ReloadDataEvent != null)
|
{
|
var model = bll.GetById(id);
|
this.ReloadDataEvent.Invoke(model);
|
}
|
|
this.DialogResult = DialogResult.OK;
|
this.Close();
|
}
|
|
|
}
|
}
|