Example #1
0
 public void Init()
 {
     _domainEventDispatcher.Send(new OnUserStartedGame());
     _reels.Suffle(new System.Random());
     _domainEventDispatcher.Send(new OnUserStartedNextPlay(_reels.Get()));
     IsPlaying = true;
 }
        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);
            }
        }
        public async Task Handle(EarningsResilienceApplicationsCheckCommand command, CancellationToken cancellationToken = default)
        {
            var applications = await _applicationDomainRepository.FindIncentiveApplicationsWithoutEarningsCalculations();

            var tasks = new List <Task>();

            foreach (var application in applications)
            {
                application.Resubmit();
                foreach (dynamic domainEvent in application.FlushEvents())
                {
                    tasks.Add(_domainEventDispatcher.Send(domainEvent, cancellationToken));
                }
            }

            await Task.WhenAll(tasks);
        }
        public async Task Save(Domain.ApprenticeshipIncentives.ApprenticeshipIncentive aggregate)
        {
            if (aggregate.IsNew)
            {
                await _apprenticeshipIncentiveDataRepository.Add(aggregate.GetModel());
            }
            else if (aggregate.IsDeleted)
            {
                await _apprenticeshipIncentiveDataRepository.Delete(aggregate.GetModel());
            }
            else
            {
                await _apprenticeshipIncentiveDataRepository.Update(aggregate.GetModel());
            }

            foreach (dynamic domainEvent in aggregate.FlushEvents())
            {
                await _domainEventDispatcher.Send(domainEvent);
            }
        }