protected bool CheckAndAddValidationResults(
            ICourseValidator courseValidator,
            DataLockValidationModel dataLockValidationModel,
            List <DataLockFailure> dataLockFailures,
            List <long> allApprenticeshipPriceEpisodeIds,
            List <long> invalidApprenticeshipPriceEpisodeIds)
        {
            var validatorResult = courseValidator.Validate(dataLockValidationModel);

            if (validatorResult.DataLockErrorCode.HasValue)
            {
                dataLockFailures.Add(new DataLockFailure
                {
                    ApprenticeshipId = dataLockValidationModel.Apprenticeship.Id,
                    DataLockError    = validatorResult.DataLockErrorCode.Value,
                    ApprenticeshipPriceEpisodeIds = allApprenticeshipPriceEpisodeIds
                });
            }
            else
            {
                var validApprenticeshipPriceEpisodeIds = validatorResult.ApprenticeshipPriceEpisodes
                                                         .Where(o => !o.Removed)
                                                         .Select(x => x.Id)
                                                         .ToList();

                invalidApprenticeshipPriceEpisodeIds.AddRange(
                    allApprenticeshipPriceEpisodeIds.Except(validApprenticeshipPriceEpisodeIds));
            }

            return(validatorResult.DataLockErrorCode.HasValue);
        }
        private (List <DataLockFailure> dataLockFailures, List <long> invalidApprenticeshipPriceEpisodeIds) Validate(
            ICourseValidator courseValidator, DataLockValidationModel dataLockValidationModel, List <long> allApprenticeshipPriceEpisodeIds)
        {
            var dataLockFailures = new List <DataLockFailure>();
            var invalidApprenticeshipPriceEpisodeIds = new List <long>();

            CheckAndAddValidationResults(
                courseValidator,
                dataLockValidationModel,
                dataLockFailures,
                allApprenticeshipPriceEpisodeIds,
                invalidApprenticeshipPriceEpisodeIds);

            return(dataLockFailures, invalidApprenticeshipPriceEpisodeIds);
        }
Esempio n. 3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CourseSetup"/> class.
 /// </summary>
 /// <param name="courseRepository">Course repository.</param>
 /// <param name="courseValidator">Course validator.</param>
 /// <param name="channelRepository">Channel repository.</param>
 /// <param name="memberRepository">Member repository.</param>
 /// <param name="tutorialGroupRepository">Tutorial group repository.</param>
 /// <param name="teamsMessageService">Teams message service.</param>
 /// <param name="tutorialGroupValidator">Tutorial group validator.</param>
 /// <param name="logger">Logger.</param>
 public CourseSetup(
     ICourseValidator courseValidator,
     ICourseRepository courseRepository,
     IChannelRepository channelRepository,
     IMemberRepository memberRepository,
     ITutorialGroupRepository tutorialGroupRepository,
     ITeamsMessageService teamsMessageService,
     ITutorialGroupValidator tutorialGroupValidator,
     ILogger <CourseSetup> logger)
 {
     this.courseValidator         = courseValidator ?? throw new ArgumentNullException(nameof(courseValidator));
     this.courseRepository        = courseRepository ?? throw new ArgumentNullException(nameof(courseRepository));
     this.channelRepository       = channelRepository ?? throw new ArgumentNullException(nameof(channelRepository));
     this.memberRepository        = memberRepository ?? throw new ArgumentNullException(nameof(memberRepository));
     this.tutorialGroupRepository = tutorialGroupRepository ?? throw new ArgumentNullException(nameof(tutorialGroupRepository));
     this.teamsMessageService     = teamsMessageService ?? throw new ArgumentNullException(nameof(teamsMessageService));
     this.tutorialGroupValidator  = tutorialGroupValidator ?? throw new ArgumentNullException(nameof(tutorialGroupValidator));
     this.logger = logger ?? throw new ArgumentNullException(nameof(logger));
 }
Esempio n. 4
0
 public CourseService(IBaseRepository <CourseEntity> baseRepository,
                      ICourseValidator courseValidator)
 {
     _baseRepository  = baseRepository;
     _courseValidator = courseValidator;
 }
Esempio n. 5
0
 public CourseService(ICourseRepository courseRepository, ICourseValidator courseValidator)
 {
     _courseValidator = courseValidator;
     _crRepo          = courseRepository;
 }