public async Task <Learner> GetOrCreate(Domain.ApprenticeshipIncentives.ApprenticeshipIncentive incentive) { var existing = await _learnerDataRepository.GetByApprenticeshipIncentiveId(incentive.Id); if (existing != null) { return(_learnerFactory.GetExisting(existing)); } return(_learnerFactory.CreateNew( Guid.NewGuid(), incentive.Id, incentive.Apprenticeship.Id, incentive.Apprenticeship.Provider.Ukprn, incentive.Apprenticeship.UniqueLearnerNumber )); }
public async Task Handle(BreakInLearningDeleted @event, CancellationToken cancellationToken = default) { var learner = await _repository.GetByApprenticeshipIncentiveId(@event.ApprenticeshipIncentiveId); learner.SubmissionData.LearningData.StoppedStatus.Undo(); await _repository.Update(learner); }