public async Task Handle(MovieRecommendedIntegrationEvent @event)
 {
     await _smtpClient.SendMailAsync(new MailMessage(
                                         to : @event.TargetEmail,
                                         from : "*****@*****.**",
                                         subject : "Movie Recommendation - " + @event.Title,
                                         body : $"{@event.Title} is perfect. You should watch. Overview:  {@event.Overview} . "
                                         ));
 }
コード例 #2
0
        public async Task <BaseResponse <bool> > Handle(RecommendMovieRequest request, CancellationToken cancellationToken)
        {
            BaseResponse <bool> response = new BaseResponse <bool>();

            try
            {
                var movie = await _movieRepository.Get(request.MovieId);

                var movieRecommendedIntegrationEvent =
                    new MovieRecommendedIntegrationEvent(movie.Id, movie.Title, movie.Overview, movie.ReleaseDate, request.Email);

                await _eventBus.PublishAsync <MovieRecommendedIntegrationEvent>(typeof(MovieRecommendedIntegrationEvent).Name, movieRecommendedIntegrationEvent);

                response.Data = true;
            }
            catch (Exception ex)
            {
                response.Errors.Add(ex.Message);
                _logger.LogError("--- Publising Recomended Movie Error", "Movie Id:" + request.MovieId, "Message: " + ex.Message);
            }
            return(response);
        }