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);
        }