コード例 #1
0
        public async Task Publish(IApprenticeshipEventsList events)
        {
            var apiEvents = events.Events.Select(x => CreateEvent(x.Commitment, x.Apprenticeship, x.Event, x.EffectiveFrom, x.EffectiveTo, x.PriceHistory));
            await _eventsApi.BulkCreateApprenticeshipEvent(apiEvents.ToList());

            events.Clear();
        }
 public UpdateApprenticeshipStopDateCommandHandler(
     ICommitmentRepository commitmentRepository,
     IApprenticeshipRepository apprenticeshipRepository,
     UpdateApprenticeshipStopDateCommandValidator validator,
     ICurrentDateTime currentDate,
     ICommitmentsLogger logger,
     IHistoryRepository historyRepository,
     IAcademicYearValidator academicYearValidator,
     IApprenticeshipEventsPublisher eventsPublisher,
     IApprenticeshipEventsList apprenticeshipEventsList,
     IDataLockRepository dataLockRepository,
     IV2EventsPublisher v2EventsPublisher)
 {
     _commitmentRepository     = commitmentRepository;
     _apprenticeshipRepository = apprenticeshipRepository;
     _validator                = validator;
     _currentDate              = currentDate;
     _logger                   = logger;
     _historyRepository        = historyRepository;
     _academicYearValidator    = academicYearValidator;
     _eventsPublisher          = eventsPublisher;
     _apprenticeshipEventsList = apprenticeshipEventsList;
     _dataLockRepository       = dataLockRepository;
     _v2EventsPublisher        = v2EventsPublisher;
 }
コード例 #3
0
 internal ApprenticeshipEventsService(IApprenticeshipEventsList apprenticeshipEventsList, IApprenticeshipEventsPublisher apprenticeshipEventsPublisher,
                                      IApprenticeshipRepository apprenticeshipRepository, ICommitmentsLogger logger, IV2EventsPublisher v2EventsPublisher)
 {
     _apprenticeshipEventsList      = apprenticeshipEventsList;
     _apprenticeshipEventsPublisher = apprenticeshipEventsPublisher;
     _apprenticeshipRepository      = apprenticeshipRepository;
     _logger            = logger;
     _v2EventsPublisher = v2EventsPublisher;
 }
コード例 #4
0
 public UpdateCommitmentAgreementCommandHandler(ICommitmentRepository commitmentRepository, IApprenticeshipRepository apprenticeshipRepository, IApprenticeshipUpdateRules apprenticeshipUpdateRules, ICommitmentsLogger logger, IMediator mediator, AbstractValidator <UpdateCommitmentAgreementCommand> validator, IApprenticeshipEventsList apprenticeshipEventsList, IApprenticeshipEventsPublisher apprenticeshipEventsPublisher, IHistoryRepository historyRepository, ICurrentDateTime currentDateTime)
 {
     _commitmentRepository          = commitmentRepository;
     _apprenticeshipRepository      = apprenticeshipRepository;
     _apprenticeshipUpdateRules     = apprenticeshipUpdateRules;
     _apprenticeshipEventsList      = apprenticeshipEventsList;
     _apprenticeshipEventsPublisher = apprenticeshipEventsPublisher;
     _historyRepository             = historyRepository;
     _currentDateTime = currentDateTime;
     _logger          = logger;
     _mediator        = mediator;
     _validator       = validator;
 }
コード例 #5
0
 public UpdateCommitmentAgreementCommandHandler(ICommitmentRepository commitmentRepository, IApprenticeshipRepository apprenticeshipRepository,
                                                IApprenticeshipUpdateRules apprenticeshipUpdateRules, ICommitmentsLogger logger, AbstractValidator <UpdateCommitmentAgreementCommand> validator,
                                                IApprenticeshipEventsList apprenticeshipEventsList, IApprenticeshipEventsPublisher apprenticeshipEventsPublisher, IHistoryRepository historyRepository,
                                                IMessagePublisher messagePublisher, INotificationsPublisher notificationsPublisher, IV2EventsPublisher v2EventsPublisher)
 {
     _commitmentRepository          = commitmentRepository;
     _apprenticeshipRepository      = apprenticeshipRepository;
     _apprenticeshipUpdateRules     = apprenticeshipUpdateRules;
     _apprenticeshipEventsList      = apprenticeshipEventsList;
     _apprenticeshipEventsPublisher = apprenticeshipEventsPublisher;
     _historyRepository             = historyRepository;
     _messagePublisher       = messagePublisher;
     _notificationsPublisher = notificationsPublisher;
     _v2EventsPublisher      = v2EventsPublisher;
     _logger    = logger;
     _validator = validator;
 }
コード例 #6
0
        public async Task Publish(IApprenticeshipEventsList events)
        {
            _logger.Info($"Publishing {events.Events.Count} events");
            var apiEvents = events.Events.Select(x => CreateEvent(x.Commitment, x.Apprenticeship, x.Event, x.EffectiveFrom, x.EffectiveTo, x.PriceHistory));

            var batches = SplitList(apiEvents.ToList(), _maxBatchSize).ToList();

            if (batches.Count() > 1)
            {
                _logger.Info($"Splitting events into {batches.Count} batches of up to {_maxBatchSize}");
            }

            foreach (var batch in batches)
            {
                _logger.Info($"Calling events api to bulk create {batch.Count} events");
                await _eventsApi.BulkCreateApprenticeshipEvent(batch.ToList());
            }

            events.Clear();
        }
コード例 #7
0
        public SetPaymentOrderCommandHandler(
            ICommitmentRepository commitmentRepository,
            IApprenticeshipRepository apprenticeshipRepository,
            IApprenticeshipEventsList apprenticeshipEventsList,
            IApprenticeshipEventsPublisher apprenticeshipEventsPublisher,
            ICommitmentsLogger logger,
            ICurrentDateTime currentDateTime)
        {
            if (commitmentRepository == null)
            {
                throw new ArgumentNullException(nameof(commitmentRepository));
            }
            if (apprenticeshipRepository == null)
            {
                throw new ArgumentNullException(nameof(apprenticeshipRepository));
            }
            if (apprenticeshipEventsList == null)
            {
                throw new ArgumentNullException(nameof(apprenticeshipEventsList));
            }
            if (apprenticeshipEventsPublisher == null)
            {
                throw new ArgumentNullException(nameof(apprenticeshipEventsPublisher));
            }
            if (logger == null)
            {
                throw new ArgumentNullException(nameof(logger));
            }
            if (currentDateTime == null)
            {
                throw new ArgumentNullException(nameof(currentDateTime));
            }

            _commitmentRepository          = commitmentRepository;
            _apprenticeshipRepository      = apprenticeshipRepository;
            _apprenticeshipEventsList      = apprenticeshipEventsList;
            _apprenticeshipEventsPublisher = apprenticeshipEventsPublisher;
            _logger          = logger;
            _currentDateTime = currentDateTime;
        }
 public ApproveDataLockTriageCommandHandler(AbstractValidator <ApproveDataLockTriageCommand> validator,
                                            IDataLockRepository dataLockRepository,
                                            IApprenticeshipRepository apprenticeshipRepository,
                                            IApprenticeshipEventsPublisher eventsApi,
                                            IApprenticeshipEventsList apprenticeshipEventsList,
                                            ICommitmentRepository commitmentRepository,
                                            ICurrentDateTime currentDateTime,
                                            IApprenticeshipInfoService apprenticeshipTrainingService,
                                            ICommitmentsLogger logger,
                                            IV2EventsPublisher v2EventsPublisher)
 {
     _validator                     = validator;
     _dataLockRepository            = dataLockRepository;
     _apprenticeshipRepository      = apprenticeshipRepository;
     _eventsApi                     = eventsApi;
     _apprenticeshipEventsList      = apprenticeshipEventsList;
     _commitmentRepository          = commitmentRepository;
     _currentDateTime               = currentDateTime;
     _apprenticeshipTrainingService = apprenticeshipTrainingService;
     _v2EventsPublisher             = v2EventsPublisher;
     _logger = logger;
 }
コード例 #9
0
        public ApproveDataLockTriageCommandHandler(AbstractValidator <ApproveDataLockTriageCommand> validator,
                                                   IDataLockRepository dataLockRepository,
                                                   IApprenticeshipRepository apprenticeshipRepository,
                                                   IApprenticeshipEventsPublisher eventsApi,
                                                   IApprenticeshipEventsList apprenticeshipEventsList,
                                                   ICommitmentRepository commitmentRepository,
                                                   ICurrentDateTime currentDateTime,
                                                   IApprenticeshipInfoServiceWrapper apprenticeshipTrainingService,
                                                   ICommitmentsLogger logger)
        {
            if (validator == null)
            {
                throw new ArgumentNullException(nameof(AbstractValidator <ApproveDataLockTriageCommand>));
            }
            if (dataLockRepository == null)
            {
                throw new ArgumentNullException(nameof(IDataLockRepository));
            }
            if (apprenticeshipRepository == null)
            {
                throw new ArgumentNullException(nameof(IApprenticeshipRepository));
            }
            if (commitmentRepository == null)
            {
                throw new ArgumentNullException(nameof(ICommitmentRepository));
            }

            _validator                     = validator;
            _dataLockRepository            = dataLockRepository;
            _apprenticeshipRepository      = apprenticeshipRepository;
            _eventsApi                     = eventsApi;
            _apprenticeshipEventsList      = apprenticeshipEventsList;
            _commitmentRepository          = commitmentRepository;
            _currentDateTime               = currentDateTime;
            _apprenticeshipTrainingService = apprenticeshipTrainingService;
            _logger = logger;
        }
コード例 #10
0
 public CreateApprenticeshipUpdateCommandHandler(AbstractValidator <CreateApprenticeshipUpdateCommand> validator,
                                                 IApprenticeshipUpdateRepository apprenticeshipUpdateRepository, ICommitmentsLogger logger,
                                                 IApprenticeshipRepository apprenticeshipRepository, IMediator mediator,
                                                 IHistoryRepository historyRepository, ICommitmentRepository commitmentRepository,
                                                 ICurrentDateTime currentDateTime, IMessagePublisher messagePublisher,
                                                 IApprenticeshipEventsList apprenticeshipEventsList,
                                                 IApprenticeshipEventsPublisher apprenticeshipEventsPublisher,
                                                 IReservationValidationService reservationValidationService,
                                                 IV2EventsPublisher v2EventsPublisher)
 {
     _validator = validator;
     _apprenticeshipUpdateRepository = apprenticeshipUpdateRepository;
     _logger = logger;
     _apprenticeshipRepository = apprenticeshipRepository;
     _mediator                      = mediator;
     _historyRepository             = historyRepository;
     _commitmentRepository          = commitmentRepository;
     _currentDateTime               = currentDateTime;
     _messagePublisher              = messagePublisher;
     _apprenticeshipEventsList      = apprenticeshipEventsList;
     _apprenticeshipEventsPublisher = apprenticeshipEventsPublisher;
     _reservationValidationService  = reservationValidationService;
     _v2EventsPublisher             = v2EventsPublisher;
 }