Beispiel #1
0
        public ValidationRuleResult IsValid(FM36Global global)
        {
            if (global.UKPRN == 0)
            {
                return(ValidationRuleResult.Failure("Invalid ukprn"));
            }

            if (string.IsNullOrWhiteSpace(global.Year))
            {
                return(ValidationRuleResult.Failure("Empty collection year."));
            }

            return(ValidationRuleResult.Ok());
        }
Beispiel #2
0
 public ValidationRuleResult IsValid(FM36Learner learner)
 {
     foreach (var priceEpisode in learner.PriceEpisodes)
     {
         var overlappingPriceEpisode = learner.PriceEpisodes
                                       .Where(pe => pe != priceEpisode)
                                       .FirstOrDefault(pe =>
                                                       (priceEpisode.PriceEpisodeValues.PriceEpisodeActualEndDate ?? priceEpisode.PriceEpisodeValues.PriceEpisodePlannedEndDate) > pe.PriceEpisodeValues?.EpisodeStartDate &&
                                                       priceEpisode.PriceEpisodeValues.EpisodeStartDate < (pe.PriceEpisodeValues.PriceEpisodeActualEndDate ?? pe.PriceEpisodeValues?.PriceEpisodePlannedEndDate));
         if (overlappingPriceEpisode != null)
         {
             return(ValidationRuleResult.Failure($"Found overlapping price episodes.  Price Episode {priceEpisode.PriceEpisodeIdentifier} overlapped with price episode {overlappingPriceEpisode.PriceEpisodeIdentifier}."));
         }
     }
     return(ValidationRuleResult.Ok());
 }
        public void Fails_If_Validation_Fails()
        {
            mocker.Mock <ILearnerValidator>()
            .Setup(x => x.Validate(It.IsAny <FM36Learner>()))
            .Returns(new ValidationResult(new List <ValidationRuleResult> {
                ValidationRuleResult.Failure("some failure")
            }))
            .Verifiable();

            var learnerSubmission = new ProcessLearnerCommand
            {
                Learner          = learner,
                CollectionYear   = 1819,
                CollectionPeriod = 1,
                Ukprn            = 12345,
                JobId            = 1
            };
            var result = mocker.Create <LearnerSubmissionProcessor>().GenerateEarnings(learnerSubmission);

            Assert.IsTrue(result.Validation.Failed);

            Mock.Verify(validatorMock, actBuilder, functionalSkillBuilder);
        }