Esempio n. 1
0
        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;
            }
        }