Skip to content

Commit 1bd4124

Browse files
authored
Removed throwing exception for not existing tournament.
1 parent 26131e2 commit 1bd4124

File tree

1 file changed

+20
-18
lines changed

1 file changed

+20
-18
lines changed

ClubService.Application/EventHandlers/TournamentEventHandlers/TournamentCanceledEventHandler.cs

+20-18
Original file line numberDiff line numberDiff line change
@@ -35,29 +35,31 @@ public async Task Handle(DomainEnvelope<IDomainEvent> domainEnvelope)
3535
var tennisClubReadModel =
3636
await tennisClubReadModelRepository.GetTennisClubById(tournamentReadModel.TennisClubId);
3737

38-
if (tennisClubReadModel == null)
38+
if (tennisClubReadModel != null)
3939
{
40-
loggerService.LogTennisClubNotFound(tournamentReadModel.TennisClubId);
41-
throw new TennisClubNotFoundException(domainEnvelope.EntityId);
42-
}
43-
44-
await tournamentReadModelRepository.Delete(tournamentReadModel);
40+
var members = await memberReadModelRepository.GetMembersByTennisClubId(tennisClubReadModel.TennisClubId.Id);
41+
var mailSubject = $"Tournament {tournamentReadModel.Name} canceled";
42+
var mailBody = $"""
43+
Unfortunately the tournament '{tournamentReadModel.Name}' that would have been taking
44+
place from the {tournamentReadModel.StartDate} to the {tournamentReadModel.EndDate} has
45+
been canceled.
46+
""";
4547

46-
var members = await memberReadModelRepository.GetMembersByTennisClubId(tennisClubReadModel.TennisClubId.Id);
47-
var mailSubject = $"Tournament {tournamentReadModel.Name} canceled";
48-
var mailBody = $"""
49-
Unfortunately the tournament '{tournamentReadModel.Name}' that would have been taking
50-
place from the {tournamentReadModel.StartDate} to the {tournamentReadModel.EndDate} has
51-
been canceled.
52-
""";
53-
54-
foreach (var member in members)
48+
foreach (var member in members)
49+
{
50+
var emailMessage = new EmailMessage(Guid.NewGuid(), member.Email, mailSubject, mailBody,
51+
DateTime.UtcNow);
52+
await emailOutboxRepository.Add(emailMessage);
53+
}
54+
}
55+
else
5556
{
56-
var emailMessage = new EmailMessage(Guid.NewGuid(), member.Email, mailSubject, mailBody,
57-
DateTime.UtcNow);
58-
await emailOutboxRepository.Add(emailMessage);
57+
// We can't throw an exception here because deleting a tennis club triggers
58+
// that all associated tournaments are deleted.
59+
loggerService.LogTennisClubNotFound(tournamentReadModel.TennisClubId);
5960
}
6061

62+
await tournamentReadModelRepository.Delete(tournamentReadModel);
6163
loggerService.LogTournamentCanceled(tournamentReadModel.TournamentId);
6264
}
6365

0 commit comments

Comments
 (0)