Skip to content

Updated TournamentConfirmedEvent #260

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 8 commits into from
Jul 10, 2024
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,11 @@ public async Task Handle(DomainEnvelope<IDomainEvent> domainEnvelope)

var tournamentConfirmedEvent = (TournamentConfirmedEvent)domainEnvelope.EventData;
var tennisClubReadModel =
await tennisClubReadModelRepository.GetTennisClubById(tournamentConfirmedEvent.ClubId);
await tennisClubReadModelRepository.GetTennisClubById(tournamentConfirmedEvent.Tournament.ClubId);

if (tennisClubReadModel == null)
{
loggerService.LogTennisClubNotFound(tournamentConfirmedEvent.ClubId);
loggerService.LogTennisClubNotFound(tournamentConfirmedEvent.Tournament.ClubId);
throw new TennisClubNotFoundException(domainEnvelope.EntityId);
}

Expand All @@ -42,7 +42,8 @@ public async Task Handle(DomainEnvelope<IDomainEvent> domainEnvelope)
foreach (var member in members)
{
var emailMessage = new EmailMessage(Guid.NewGuid(), member.Email,
tournamentConfirmedEvent.Name, tournamentConfirmedEvent.Description, DateTime.UtcNow);
tournamentConfirmedEvent.Tournament.Name, tournamentConfirmedEvent.Tournament.Description,
DateTime.UtcNow);

await emailOutboxRepository.Add(emailMessage);
}
Expand Down
28 changes: 2 additions & 26 deletions ClubService.Domain/Event/Tournament/TournamentConfirmedEvent.cs
Original file line number Diff line number Diff line change
@@ -1,30 +1,6 @@
using ClubService.Domain.Model.Entity;
using ClubService.Domain.Model.Enum;

namespace ClubService.Domain.Event.Tournament;

public class TournamentConfirmedEvent(
Guid id,
Guid clubId,
bool isCanceled,
string name,
string description,
int maximumParticipants,
HashSet<TournamentCourt> courts,
HashSet<TournamentDay> days,
HashSet<TournamentParticipant> participants,
int version,
TournamentStatus status) : ITournamentDomainEvent
public class TournamentConfirmedEvent(Model.Entity.Tournament tournament) : ITournamentDomainEvent
{
public Guid Id { get; } = id;
public Guid ClubId { get; } = clubId;
public bool IsCanceled { get; } = isCanceled;
public string Name { get; } = name;
public string Description { get; } = description;
public int MaximumParticipants { get; } = maximumParticipants;
public HashSet<TournamentCourt> Courts { get; } = courts;
public HashSet<TournamentDay> Days { get; } = days;
public HashSet<TournamentParticipant> Participants { get; } = participants;
public int Version { get; } = version;
public TournamentStatus Status { get; } = status;
public Model.Entity.Tournament Tournament { get; } = tournament;
}
29 changes: 29 additions & 0 deletions ClubService.Domain/Model/Entity/Tournament.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
using ClubService.Domain.Model.Enum;

namespace ClubService.Domain.Model.Entity;

public class Tournament(
Guid id,
Guid clubId,
bool isCanceled,
string name,
string description,
int maximumParticipants,
HashSet<TournamentCourt> courts,
HashSet<TournamentDay> days,
HashSet<TournamentParticipant> participants,
int version,
TournamentStatus status)
{
public Guid Id { get; } = id;
public Guid ClubId { get; } = clubId;
public bool IsCanceled { get; } = isCanceled;
public string Name { get; } = name;
public string Description { get; } = description;
public int MaximumParticipants { get; } = maximumParticipants;
public HashSet<TournamentCourt> Courts { get; } = courts;
public HashSet<TournamentDay> Days { get; } = days;
public HashSet<TournamentParticipant> Participants { get; } = participants;
public int Version { get; } = version;
public TournamentStatus Status { get; } = status;
}
10 changes: 5 additions & 5 deletions ClubService.Domain/ReadModel/TournamentReadModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,13 @@ private TournamentReadModel(Guid tournamentId, Guid tennisClubId, string name, D

public static TournamentReadModel FromDomainEvent(TournamentConfirmedEvent tournamentConfirmedEvent)
{
var startDate = tournamentConfirmedEvent.Days.OrderBy(d => d.Day).First();
var endDate = tournamentConfirmedEvent.Days.OrderBy(d => d.Day).Last();
var startDate = tournamentConfirmedEvent.Tournament.Days.OrderBy(d => d.Day).First();
var endDate = tournamentConfirmedEvent.Tournament.Days.OrderBy(d => d.Day).Last();

return new TournamentReadModel(
tournamentConfirmedEvent.Id,
tournamentConfirmedEvent.ClubId,
tournamentConfirmedEvent.Name,
tournamentConfirmedEvent.Tournament.Id,
tournamentConfirmedEvent.Tournament.ClubId,
tournamentConfirmedEvent.Tournament.Name,
startDate.Day,
endDate.Day
);
Expand Down
Loading