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); }
public async Task Save(Learner aggregate) { if (aggregate.IsNew) { await _learnerDataRepository.Add(aggregate.GetModel()); } else { await _learnerDataRepository.Update(aggregate.GetModel()); } foreach (dynamic domainEvent in aggregate.FlushEvents()) { await _domainEventDispatcher.Send(domainEvent); } }