Skip to content

Commit

Permalink
Merge pull request #265 from THC-Software/remove-throwing-exception-i…
Browse files Browse the repository at this point in the history
…n-tournament-canceled-event-handler-if-club-is-missing

Removed throwing exception for not existing tournament.
  • Loading branch information
iiNomad23 authored Jul 11, 2024
2 parents e543e38 + 1bd4124 commit d93a8ef
Showing 1 changed file with 20 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -35,29 +35,31 @@ public async Task Handle(DomainEnvelope<IDomainEvent> domainEnvelope)
var tennisClubReadModel =
await tennisClubReadModelRepository.GetTennisClubById(tournamentReadModel.TennisClubId);

if (tennisClubReadModel == null)
if (tennisClubReadModel != null)
{
loggerService.LogTennisClubNotFound(tournamentReadModel.TennisClubId);
throw new TennisClubNotFoundException(domainEnvelope.EntityId);
}

await tournamentReadModelRepository.Delete(tournamentReadModel);
var members = await memberReadModelRepository.GetMembersByTennisClubId(tennisClubReadModel.TennisClubId.Id);
var mailSubject = $"Tournament {tournamentReadModel.Name} canceled";
var mailBody = $"""
Unfortunately the tournament '{tournamentReadModel.Name}' that would have been taking
place from the {tournamentReadModel.StartDate} to the {tournamentReadModel.EndDate} has
been canceled.
""";

var members = await memberReadModelRepository.GetMembersByTennisClubId(tennisClubReadModel.TennisClubId.Id);
var mailSubject = $"Tournament {tournamentReadModel.Name} canceled";
var mailBody = $"""
Unfortunately the tournament '{tournamentReadModel.Name}' that would have been taking
place from the {tournamentReadModel.StartDate} to the {tournamentReadModel.EndDate} has
been canceled.
""";

foreach (var member in members)
foreach (var member in members)
{
var emailMessage = new EmailMessage(Guid.NewGuid(), member.Email, mailSubject, mailBody,
DateTime.UtcNow);
await emailOutboxRepository.Add(emailMessage);
}
}
else
{
var emailMessage = new EmailMessage(Guid.NewGuid(), member.Email, mailSubject, mailBody,
DateTime.UtcNow);
await emailOutboxRepository.Add(emailMessage);
// We can't throw an exception here because deleting a tennis club triggers
// that all associated tournaments are deleted.
loggerService.LogTennisClubNotFound(tournamentReadModel.TennisClubId);
}

await tournamentReadModelRepository.Delete(tournamentReadModel);
loggerService.LogTournamentCanceled(tournamentReadModel.TournamentId);
}

Expand Down

0 comments on commit d93a8ef

Please sign in to comment.