Ejemplo n.º 1
0
        public async Task <ParticipationId> SetAsync(ParticipationSessionAggregate aggregate)
        {
            var isCached =
                await _cache.SetCache(ToModel(aggregate), aggregate.Id.Value,
                                      _settings.ParticipationSecondDuration);

            return(aggregate.Id);
        }
Ejemplo n.º 2
0
        private async Task PrepareParticipation(ParticipationSessionAggregate participation)
        {
            var language =
                await _readParticipationRepository.GetLanguageByParticipation(participation.Id.Value);

            if (language is null)
            {
                throw new NotFoundException(participation.Id.Value.ToString(), "Participation Language");
            }
            _prepareParticipationExecutionService.Dispatch(
                new PrepareParticipationExecutionDto(participation.Id.Value, language.Name));
        }
Ejemplo n.º 3
0
 private static ParticipationSessionAggregate ToAggregate(ParticipationAggregate participation,
                                                          IList <TestNavigation> tests) =>
 ParticipationSessionAggregate.Restore(
     participation.Id,
     ToTeamSessionEntity(participation.Team),
     participation.TournamentEntity,
     ToStepSessionEntity(participation.StepEntity, tests),
     participation.StartDate,
     participation.EndDate,
     participation.CalculatedScore,
     false,
     participation.Functions.ToList()
     );
Ejemplo n.º 4
0
 private ParticipationSession ToModel(ParticipationSessionAggregate aggregate) => new()