Newer
Older
InMemoryBus / src / ApplicationCore / EmailOrderConfirmation.cs
@Derek Comartin Derek Comartin on 17 Jan 2023 715 bytes Init
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;
    }
}