public override ValidationResult Validate(object value, CultureInfo cultureInfo) { PositiveResponseViewModel viewModel = (value as BindingGroup)?.Items[0] as PositiveResponseViewModel; if (viewModel != null) { DateTime?startDate = GetPropertyValue <DateTime?>(viewModel, StartDate); DateTime?startRangeDate = GetPropertyValue <DateTime?>(viewModel, StartRangeDate); DateTime?endRangeDate = GetPropertyValue <DateTime?>(viewModel, EndRangeDate); if (startDate == null && startRangeDate != null && endRangeDate != null) { return(new ValidationResult(false, ErrorText1 == null ? ERROR_1 : ErrorText1)); } if (startDate != null && startRangeDate != null && endRangeDate != null) { if (((TimeSpan)(startRangeDate - startDate)).Days < 0 || ((TimeSpan)(endRangeDate - startDate)).Days < 0) { return(new ValidationResult(false, ErrorText2 == null ? ERROR_2 : ErrorText2)); } if (DateRangeFrom >= ((TimeSpan)(endRangeDate - startRangeDate)).Days || ((TimeSpan)(endRangeDate - startRangeDate)).Days >= DateRangeTo) { return(new ValidationResult(false, ErrorText3 == null ? ERROR_3 : ErrorText3)); } } } return(ValidationResult.ValidResult); }
public override ValidationResult Validate(object value, CultureInfo cultureInfo) { BindingGroup bindingGroup = value as BindingGroup; if (bindingGroup != null) { PositiveResponseViewModel viewModel = bindingGroup.Items[0] as PositiveResponseViewModel; if (viewModel != null) { DateTime?startDate = GetPropertyValue <DateTime?>(viewModel, "ContractDateUnchecked"); DateTime?startRangeDate = GetPropertyValue <DateTime?>(viewModel, "StartDateDiscountUnchecked"); DateTime?endRangeDate = GetPropertyValue <DateTime?>(viewModel, "EndDateDiscountUnchecked"); if (startDate == null & startRangeDate != null & endRangeDate != null) { return(new ValidationResult(false, ErrorText1 == null ? "Начальная дата не определена" : ErrorText1)); } if (startDate != null & startRangeDate != null & endRangeDate != null) { if (((DateTime)startRangeDate - (DateTime)startDate).Days < 0 || ((DateTime)endRangeDate - (DateTime)startDate).Days < 0) { return(new ValidationResult(false, ErrorText2 == null ? "Выбранные даты меньше начальной даты" : ErrorText2)); } if (DateRangeFrom >= ((DateTime)endRangeDate - (DateTime)startRangeDate).Days || ((DateTime)endRangeDate - (DateTime)startRangeDate).Days >= DateRangeTo) { return(new ValidationResult(false, ErrorText3 == null ? "Некорректный диапазон дат" : ErrorText3)); } } } } return(ValidationResult.ValidResult); }
//Создать рабочую область private void CreateWorkspace(object sender, DataEventArgs args) { switch (args.Data) { case "CreatePositiveResponse": { PositiveResponseViewModel positiveResponse = new PositiveResponseViewModel() { NameWorkspace = "Положительный ответ" }; Workspaces.Add(positiveResponse); ActivateWorkspace(Workspaces, positiveResponse); break; } } }
//Очистить текущий документ private void ClearDocument <T>(T collection) where T : ObservableCollection <WorkspaceBase> { ICollectionView view = CollectionViewSource.GetDefaultView(collection); switch (view?.CurrentItem) { case null: return; case PositiveResponseViewModel item: int position = collection.IndexOf(item); collection.Remove(item); PositiveResponseViewModel doc = new PositiveResponseViewModel() { NameWorkspace = "Положительный ответ" }; collection.Add(doc); collection.Move(collection.IndexOf(doc), position); ActivateWorkspace(collection, doc); break; } }