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(); } } }