namespace Yw.WinFrmUI
{
public partial class SetHydroWaterboxDlg : DevExpress.XtraEditors.XtraForm
{
public SetHydroWaterboxDlg()
{
InitializeComponent();
this.IconOptions.Icon = Yw.WinFrmUI.GlobalParas.AppIcon;
this.layoutControl1.SetupLayoutControl();
}
///
/// 返回数据事件
///
public event Action> ReloadDataEvent;
//所有部件列表
private List _allVisualList = null;
///
/// 绑定数据
///
public void SetBindingData(Yw.Model.HydroWaterboxInfo visual)
{
var allVisualList = visual == null ? null : new List() { visual };
SetBindingData(allVisualList);
}
///
/// 绑定数据
///
public void SetBindingData(List allVisualList)
{
_allVisualList = allVisualList;
if (_allVisualList != null && _allVisualList.Count == 1)
{
var visual = _allVisualList.First();
this.txtPoolElev.EditValue = Math.Round(visual.PoolElev, 4);
this.txtInitLevel.EditValue = Math.Round(visual.InitLevel, 4);
this.txtMinLevel.EditValue = Math.Round(visual.MinLevel, 4);
this.txtMaxLevel.EditValue = Math.Round(visual.MaxLevel, 4);
this.txtDN.EditValue = Math.Round(visual.DN, 4);
this.ckOverFlow.Checked = visual.OverFlow;
}
}
//验证
private bool Valid()
{
this.dxErrorProvider1.ClearErrors();
if (this.txtPoolElev.EditValue == null)
{
this.dxErrorProvider1.SetError(this.txtPoolElev, "必填项");
return false;
}
if (this.txtInitLevel.EditValue == null)
{
this.dxErrorProvider1.SetError(this.txtInitLevel, "必填项");
return false;
}
if (this.txtMinLevel.EditValue == null)
{
this.dxErrorProvider1.SetError(this.txtMinLevel, "必填项");
return false;
}
if (this.txtMaxLevel.EditValue == null)
{
this.dxErrorProvider1.SetError(this.txtMaxLevel, "必填项");
return false;
}
if (this.txtDN.EditValue == null)
{
this.dxErrorProvider1.SetError(this.txtDN, "必填项");
return false;
}
return true;
}
//
private void btnOk_Click(object sender, EventArgs e)
{
if (_allVisualList == null || _allVisualList.Count < 1)
{
return;
}
if (!Valid())
{
return;
}
var poolElev = double.Parse(this.txtPoolElev.EditValue.ToString());
var initLevel = double.Parse(this.txtInitLevel.EditValue.ToString());
var minLevel = double.Parse(this.txtMinLevel.EditValue.ToString());
var maxLevel = double.Parse(this.txtMaxLevel.EditValue.ToString());
var dn = double.Parse(this.txtDN.EditValue.ToString());
var overFlow = this.ckOverFlow.Checked;
_allVisualList.ForEach(x =>
{
x.PoolElev = poolElev;
x.InitLevel = initLevel;
x.MinLevel = minLevel;
x.MaxLevel = maxLevel;
x.DN = dn;
x.OverFlow = overFlow;
});
this.ReloadDataEvent?.Invoke(_allVisualList);
this.DialogResult = DialogResult.OK;
this.Close();
}
}
}