Exemple #1
0
        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);
        }