namespace Yw.WinFrmUI
{
public partial class AddHydroSceneDlg : DevExpress.XtraEditors.XtraForm
{
public AddHydroSceneDlg()
{
InitializeComponent();
this.layoutControl1.SetupLayoutControl();
}
///
/// 重载数据事件
///
public event Action ReloadDataEvent;
private Lazy _bllFlag = new(() => new Yw.BLL.SysFlagStd());//标签bll
private Lazy _bllScene = new(() => new Yw.BLL.HydroScene());//场景bll
///
/// 绑定数据
///
public async void SetBindingData()
{
var allFlagList = await _bllFlag.Value.GetFlagListBySysType(Yw.Hydro.DataType.HydroScene);
this.setFlagsEditCtrl1.SetBindingData(allFlagList, null);
}
//验证
private async Task Valid()
{
this.dxErrorProvider1.ClearErrors();
if (string.IsNullOrEmpty(this.txtName.Text.Trim()))
{
this.dxErrorProvider1.SetError(this.txtName, "必填项");
return false;
}
var code = this.txtCode.Text.Trim();
if (string.IsNullOrEmpty(code))
{
this.dxErrorProvider1.SetError(this.txtCode, "必填项");
return false;
}
if (await _bllScene.Value.IsExistCode(code))
{
this.dxErrorProvider1.SetError(this.txtCode, "编码已存在");
return false;
}
var tagName = this.txtTagName.Text.Trim();
if (!string.IsNullOrEmpty(tagName))
{
if (await _bllScene.Value.IsExistTagName(tagName))
{
this.dxErrorProvider1.SetError(this.txtTagName, "标志已存在");
return false;
}
}
return true;
}
//确定
private async void btnOk_Click(object sender, EventArgs e)
{
if (!await Valid())
{
return;
}
var model = new Yw.Dto.AddHydroSceneInput();
model.Name = this.txtName.Text.Trim();
model.Code = this.txtCode.Text.Trim();
model.Flags = this.setFlagsEditCtrl1.SelectedFlagList;
model.TagName = this.txtTagName.Text.Trim();
model.Description = this.txtDescription.Text.Trim();
var id = await _bllScene.Value.Insert(model);
if (id < 1)
{
MessageBoxHelper.ShowWarning("添加失败!");
return;
}
this.ReloadDataEvent?.Invoke(id);
this.DialogResult = DialogResult.OK;
this.Close();
}
}
}