using DevExpress.XtraEditors;
using IStation.Untity;
using System;
using System.Linq;
using System.Windows.Forms;
namespace IStation.WinFrmUI.Monitor
{
public partial class AddCurveAnalyzeDlg : DevExpress.XtraEditors.XtraForm
{
public AddCurveAnalyzeDlg()
{
InitializeComponent();
this.IconOptions.Icon = WinFrmUI.Properties.Resources.App;
this.dataLayoutControl1.SetupLayoutControl();
}
///
/// 回调事件
///
public event Func ReloadDataEvent;
///
/// 验证识别码是否存在事件
///
public event Func VerifyTagNameExistEvent;
private Model.CurveAnalyze _model = null;
///
/// 绑定
///
public void SetBindingData(DateTime startTime, DateTime endTime)
{
_model = new Model.CurveAnalyze();
this.StartTimeDateEdit.DateTime = startTime;
this.EndTimeDateEdit.DateTime = endTime;
this.TimeStepSpinEdit.EditValue = 300;
this.HzsTextEdit.EditValue = "20,25,30,35,40,45,50";
this.HzRangeTextEdit.EditValue = 1;
}
//验证
private bool Valid()
{
this.dxErrorProvider1.ClearErrors();
if (string.IsNullOrEmpty(this.NameTextEdit.Text.Trim()))
{
this.dxErrorProvider1.SetError(this.NameTextEdit, "必填项");
return false;
}
if (this.TimeStepSpinEdit.EditValue == null)
{
this.dxErrorProvider1.SetError(this.TimeStepSpinEdit, "必填项");
return false;
}
var hzs = this.HzsTextEdit.Text.Trim();
if (string.IsNullOrEmpty(hzs))
{
this.dxErrorProvider1.SetError(this.HzsTextEdit, "必填项");
return false;
}
else
{
var list = DoubleListHelper.ToList(hzs);
if (list == null || !list.Any())
{
this.dxErrorProvider1.SetError(this.HzsTextEdit, "必填项");
return false;
}
if (list.Distinct().Count() != list.Count)
{
this.dxErrorProvider1.SetError(this.HzsTextEdit, "值重复");
return false;
}
}
if (string.IsNullOrEmpty(this.HzRangeTextEdit.Text.Trim()))
{
this.dxErrorProvider1.SetError(this.HzRangeTextEdit, "必填项");
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.StartTime = this.StartTimeDateEdit.DateTime;
_model.EndTime = this.EndTimeDateEdit.DateTime;
_model.TimeStep = Convert.ToInt32(this.TimeStepSpinEdit.EditValue);
_model.Hzs = DoubleListHelper.ToList(this.HzsTextEdit.Text.Trim());
if (this.ReloadDataEvent == null)
return;
if (!this.ReloadDataEvent(_model))
{
XtraMessageBox.Show("添加失败!");
return;
}
XtraMessageBox.Show("添加成功!");
this.DialogResult = DialogResult.OK;
this.Close();
}
}
}