예제 #1
0
        public ValidationResult PerformValidation()
        {
            ValidationResult result = new ValidationResult(true);

            if (String.IsNullOrWhiteSpace(txtTaskName.Text))
            {
                result.Append(ValidationResult.WithFailure("Please enter a name for this scheduled task."));
            }
            else if ((m_IsNewTask || txtTaskName.Text.ToLower() != m_ScheduledTask.TaskName.ToLower()) &&
                     !WebHawkAppContext.SchedulingController.ValidateNewScheduledTaskName(txtTaskName.Text))
            {
                result.Append(ValidationResult.WithFailure(String.Format("A scheduled task with the name \"{0}\" already exists. Please assign a unique name to this task.", txtTaskName.Text)));
            }

            if (cbTaskSequence.SelectedIndex < 0)
            {
                result.Append(ValidationResult.WithFailure("Please select a Sequence."));
            }

            if (cbTaskExpires.Checked && dtpTaskStartTime.Value > dtpTaskEndTime.Value)
            {
                result.Append(ValidationResult.WithFailure("Task start time must not be later than its expire time."));
            }

            if (result.IsValid && cbTaskEnabled.Checked)
            {
                result.Append(ValidationResult.WithWarning(
                                  String.Format("The Sequence \"{0}\" will run {1}.",
                                                cbTaskSequence.Text,
                                                m_Schedule.BuildDescription())));
            }

            return(result);
        }
예제 #2
0
        public override ValidationResult PerformValidation()
        {
            ValidationResult result = new ValidationResult(true);

            if (WeeklySchedule.WeeklyRecurrence.Count == 0)
            {
                result.Append(ValidationResult.WithFailure("Please select at least one day of the week."));
            }
            result.Append(this.dailyRepeatableScheduler.PerformValidation());
            return(result);
        }
예제 #3
0
        public ValidationResult PerformValidation()
        {
            ValidationResult result = new ValidationResult(true);

            if (String.IsNullOrWhiteSpace(this.NewName))
            {
                result.Append(ValidationResult.WithFailure("Please enter a name for this sequence."));
            }
            else if (!WebHawkAppContext.AutomationController.ValidateNewSequenceName(this.NewName))
            {
                result.Append(ValidationResult.WithFailure(String.Format("The name \"{0}\" is already in use. Please choose another name.", this.NewName)));
            }

            return(result);
        }
예제 #4
0
        public void Append_TwoListsOfManyErrors_MergesInOrder()
        {
            // Arrange
            var firstResults = new ValidationResult();

            firstResults.AddError(new SectionName("1"), "1");
            firstResults.AddError(new SectionName("2"), "2");

            var secondResults = new ValidationResult();

            secondResults.AddError(new SectionName("3"), "3");
            secondResults.AddError(new SectionName("4"), "4");

            // Act
            firstResults.Append(secondResults);

            // Assert
            Assert.Equal(4, firstResults.Errors.Length);
            Assert.Equal("Error in 1: 1", firstResults.Errors[0]);
            Assert.Equal("Error in 2: 2", firstResults.Errors[1]);
            Assert.Equal("Error in 3: 3", firstResults.Errors[2]);
            Assert.Equal("Error in 4: 4", firstResults.Errors[3]);

            Assert.Equal(2, secondResults.Errors.Length);             // Should only append to called ValidationResult
        }
예제 #5
0
        public override ValidationResult PerformValidation()
        {
            ValidationResult result = new ValidationResult(true);

            result.Append(this.dailyRepeatableScheduler.PerformValidation());
            return(result);
        }
예제 #6
0
        public override ValidationResult PerformValidation()
        {
            ValidationResult result = base.PerformValidation();

            if (m_NotificationEditor != null)
            {
                result.Append(m_NotificationEditor.PerformValidation());
            }
            return(result);
        }
        public override ValidationResult PerformValidation()
        {
            ValidationResult result = new ValidationResult(true);

            if (dtpDailyRepetitionStartTime.Value > dtpDailyRepetitionEndTime.Value)
            {
                result.Append(ValidationResult.WithFailure("Daily repetition start time must not be later than daily repetition end time."));
            }
            return(result);
        }
예제 #8
0
        public override ValidationResult PerformValidation()
        {
            ValidationResult result = base.PerformValidation();

            if (String.IsNullOrWhiteSpace(cbVariableName.Text))
            {
                result.Append(ValidationResult.WithFailure("Please enter a state variable name."));
            }
            return(result);
        }
    public ValidationResult Validate(T instance)
    {
        ValidationResult total = ValidationResult.ValidResult;

        foreach (var validator in this.col)
        {
            var result = validator.Validate(instance);
            total = ValidationResult.Append(total, result);
        }
        return(total);
    }
예제 #10
0
        public void Append_NullResults_DoesNothing()
        {
            // Arrange
            var firstResults = new ValidationResult();

            // Act
            firstResults.Append(null);

            // Assert
            Assert.Empty(firstResults.Errors);
        }
예제 #11
0
        public ValidationResult PerformValidation()
        {
            ValidationResult result = new ValidationResult(true);

            if (String.IsNullOrWhiteSpace(txtSequenceName.Text))
            {
                result.Append(ValidationResult.WithFailure("Please enter a name for this sequence."));
            }
            else if ((m_IsNewSequence || txtSequenceName.Text.ToLower() != m_SequenceDetail.Sequence.Name.ToLower()) &&
                     !WebHawkAppContext.AutomationController.ValidateNewSequenceName(txtSequenceName.Text))
            {
                result.Append(ValidationResult.WithFailure(String.Format("The name \"{0}\" is already in use. Please choose another name.", txtSequenceName.Text)));
            }

            if (!Uri.IsWellFormedUriString(txtStartingURL.Text, UriKind.Absolute))
            {
                result.Append(ValidationResult.WithFailure(String.Format("\"{0}\" is not a valid URL.", txtStartingURL.Text)));
            }

            return(result);
        }
예제 #12
0
        public override ValidationResult PerformValidation()
        {
            ValidationResult result = new ValidationResult(true);

            if (MonthlySchedule.MonthlyRecurrence.Count == 0)
            {
                result.Append(ValidationResult.WithFailure("Please select at least one month."));
            }
            if (MonthlySchedule.MonthlyRecurrenceType == MonthlyRecurrenceType.OrdinalDays &&
                MonthlySchedule.OrdinalDays.Count == 0)
            {
                result.Append(ValidationResult.WithFailure("Please select at least one day of the month."));
            }
            if (MonthlySchedule.MonthlyRecurrenceType == MonthlyRecurrenceType.Weekdays &&
                (MonthlySchedule.WeekdayPositions.Count == 0 || MonthlySchedule.Weekdays.Count == 0))
            {
                result.Append(ValidationResult.WithFailure("Please select at least one day of the week and week of the month."));
            }
            result.Append(this.dailyRepeatableScheduler.PerformValidation());
            return(result);
        }
예제 #13
0
        /// <summary>
        /// Validate the ViewModel according to the <see cref="ValidationRules"/>
        /// </summary>
        public ValidationResult Validate(bool validateChildren = false)
        {
            ValidationResult = new ValidationResult();

            if (_validating)
            {
                return(ValidationResult);
            }

            _validating = true;

            if (validateChildren)
            {
                foreach (var childViewModel in GetChildViewModels())
                {
                    if (!childViewModel.ViewModelOptions.IncludeInHierarchicalValidation)
                    {
                        continue;
                    }

                    var result = childViewModel.Validate(true);
                    if (result != null)
                    {
                        ValidationResult.Append(result);
                    }
                }
            }

            if (ValidationRules != null)
            {
                foreach (var validationRule in ValidationRules)
                {
                    CheckRule(validationRule);
                }
            }

            IsValid = ValidationResult.IsValid;
            OnValidated(ValidationResult);
            _validating = false;
            return(ValidationResult);
        }