public async Task HandleAsync(TeamInvitationCreatedEvent @event, CancellationToken cancellationToken) { var team = await _teamsCollection.Find(t => t.Id == @event.TeamId) .SingleAsync(cancellationToken); var email = new TeamInvitationEmail ( @event.EmailAddress, team.Name, _authenticatedUserAccessor.AuthenticatedUser.Name, @event.InvitationId ); await _emailSender.SendEmailAsync(email, cancellationToken); }
public async Task HandleAsync(TeamInvitationResentEvent @event, CancellationToken cancellationToken) { var teamName = await _teamsCollection.Find(t => t.Id == @event.TeamId) .Project(t => t.Name) .SingleAsync(cancellationToken); var emailAddress = await _invitationsCollection.Find(t => t.Id == @event.InvitationId) .Project(i => i.EmailAddress) .SingleAsync(cancellationToken); var email = new TeamInvitationEmail ( emailAddress, teamName, _authenticatedUserAccessor.AuthenticatedUser.Name, @event.InvitationId ); await _emailSender.SendEmailAsync(email, cancellationToken); }