using System.Threading;
using System.Threading.Tasks;
using Hangfire;
using MediatR;
using Microsoft.eShopWeb.ApplicationCore.Interfaces;
using Microsoft.eShopWeb.Events;
namespace Microsoft.eShopWeb;
public class EmailOrderConfirmation : INotificationHandler<OrderPlaced>
{
private readonly IEmailSender _emailSender;
public EmailOrderConfirmation(IEmailSender emailSender)
{
_emailSender = emailSender;
}
public Task Handle(OrderPlaced notification, CancellationToken cancellationToken)
{
BackgroundJob.Enqueue(() => _emailSender.SendEmailAsync("demo@codeopinion.com", "Order Confirmation", "Thank you for your order."));
return Task.CompletedTask;
}
}