30 lines
1.1 KiB
C#
30 lines
1.1 KiB
C#
using GroupService.Domain.Events;
|
|
using IM.Commons.IntegrationEvents;
|
|
using MassTransit;
|
|
using MediatR;
|
|
|
|
namespace GroupService.WebApi.Application.EventHandler
|
|
{
|
|
public class GroupRequestDeclinedHandler : INotificationHandler<GroupJoinRequestDeclinedDomainEvent>
|
|
{
|
|
private readonly IPublishEndpoint endpoint;
|
|
|
|
public GroupRequestDeclinedHandler(IPublishEndpoint endpoint)
|
|
{
|
|
this.endpoint = endpoint;
|
|
}
|
|
|
|
public async Task Handle(GroupJoinRequestDeclinedDomainEvent notification, CancellationToken cancellationToken)
|
|
{
|
|
var request = notification.Request;
|
|
await endpoint.Publish(new GroupRequestDeclinedEvent(
|
|
request.Id, request.GroupId, request.GroupProfile.GroupName,
|
|
request.GroupProfile.Avatar, request.UserId,
|
|
request.UserProfile.NickName, request.UserProfile.Avatar,
|
|
request.OperatorId.Value,request.OperatorName,
|
|
request.OperatorAvatar, request.Description,
|
|
request.CreationTime, request.ModificationTime.Value));
|
|
}
|
|
}
|
|
}
|