34 lines
1.1 KiB
C#
34 lines
1.1 KiB
C#
using MediatR;
|
|
using Microsoft.Extensions.Logging;
|
|
using GozareshgirProgramManager.Domain.CustomerAgg.Events;
|
|
using GozareshgirProgramManager.Application._Common.Models;
|
|
|
|
namespace GozareshgirProgramManager.Application.DomainEventHandlers;
|
|
|
|
public class CustomerRegisteredHandler : INotificationHandler<DomainEventNotification<CustomerRegistered>>
|
|
{
|
|
private readonly ILogger<CustomerRegisteredHandler> _logger;
|
|
|
|
public CustomerRegisteredHandler(ILogger<CustomerRegisteredHandler> logger)
|
|
{
|
|
_logger = logger;
|
|
}
|
|
|
|
public Task Handle(DomainEventNotification<CustomerRegistered> notification, CancellationToken cancellationToken)
|
|
{
|
|
var domainEvent = notification.DomainEvent;
|
|
|
|
_logger.LogInformation(
|
|
"Customer registered: {CustomerId}, Name: {Name}, Email: {Email}",
|
|
domainEvent.CustomerId,
|
|
domainEvent.Name,
|
|
domainEvent.Email);
|
|
|
|
|
|
// اینجا میتوانید email ارسال کنید یا کارهای دیگر انجام دهید
|
|
|
|
return Task.CompletedTask;
|
|
}
|
|
}
|
|
|