private void ClickEvent(object sender, EditValueChangedEventArgs e) { List <PropertyInfo> prop = intervalEnabled.GetType().GetProperties().Where(p => p.Name != "IsChanged" && p.Name != GetSenderName(sender) && (bool)p.GetValue(intervalEnabled)).ToList(); if ((bool)(sender as CheckEdit).IsChecked) { foreach (PropertyInfo item in prop) { item.SetValue(intervalEnabled, false); } } else if (prop.Count == 0) { IntervalVM.ScalesEnabler(false); } CreateEnabled(); }
private void IntervalEnabled_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e) { if (e.PropertyName == "FixDate") { fixDateEdit.IsReadOnly = !(bool)sender.GetType().GetProperty(e.PropertyName).GetValue(sender); fixDateErase.IsEnabled = fixDatePicker.IsEnabled = !fixDateEdit.IsReadOnly; if (fixDateEdit.IsReadOnly) { fixDateEdit.Clear(); } else { IntervalVM.ScalesEnabler(false); } fixDateEdit.DoValidate(); } else if (e.PropertyName == "IntervalDate") { intervalStart.IsReadOnly = intervalEnd.IsReadOnly = !(bool)sender.GetType().GetProperty(e.PropertyName).GetValue(sender); intervalStartErase.IsEnabled = intervalEndErase.IsEnabled = intervalStartPicker.IsEnabled = intervalEndPicker.IsEnabled = !intervalStart.IsReadOnly; if (intervalStart.IsReadOnly) { intervalStart.Clear(); intervalEnd.Clear(); } else { IntervalVM.ScalesEnabler(); } intervalStart.DoValidate(); intervalEnd.DoValidate(); } else if (e.PropertyName == "Continuous" && (bool)sender.GetType().GetProperty(e.PropertyName).GetValue(sender)) { IntervalVM.ScalesEnabler(true); } }
private void intervalEnd_Validate(object sender, ValidationEventArgs e) { intervalValid.intervalEnd = false; if (!intervalEnabled.IntervalDate) { e.SetError("A mező nincs engedélyezve", DevExpress.XtraEditors.DXErrorProvider.ErrorType.Information); intervalValid.intervalEnd = true; } else if (e.Value == null) { e.SetError("A mezőt nem lehet üresen hagyni", DevExpress.XtraEditors.DXErrorProvider.ErrorType.Critical); (sender as DateEdit).EditValue = e.Value; IntervalVM.ScalesEnabler(false); } else if (e.Value as DateTime? < (DateTime?)intervalStart.EditValue) { e.SetError("Nem lehet az időpont vége korábban mint a kezdete", DevExpress.XtraEditors.DXErrorProvider.ErrorType.Critical); IntervalVM.ScalesEnabler(false); } else if (e.Value as DateTime? > DateTime.Now) { e.SetError("Nem vehetünk fel időpontot a jövőbe", DevExpress.XtraEditors.DXErrorProvider.ErrorType.Critical); IntervalVM.ScalesEnabler(false); } else { (sender as DateEdit).EditValue = e.Value; e.SetError("A mező tartalma megfelelő", DevExpress.XtraEditors.DXErrorProvider.ErrorType.User1); intervalValid.intervalEnd = true; if (intervalStart.EditValue != null) { Duration = (DateTime)intervalEnd.EditValue - (DateTime)intervalStart.EditValue; } IntervalVM.ScalesEnabler(); } CreateEnabled(); }