25 lines
783 B
C#
25 lines
783 B
C#
using GroupService.Domain.Events;
|
|
using IM.Commons.IntegrationEvents;
|
|
using MassTransit;
|
|
using MediatR;
|
|
|
|
namespace GroupService.WebApi.Application.EventHandler
|
|
{
|
|
public class GroupBlockHandler : INotificationHandler<GroupBlockedDomainEvent>
|
|
{
|
|
private readonly IPublishEndpoint endpoint;
|
|
|
|
public GroupBlockHandler(IPublishEndpoint endpoint)
|
|
{
|
|
this.endpoint = endpoint;
|
|
}
|
|
|
|
public async Task Handle(GroupBlockedDomainEvent notification, CancellationToken cancellationToken)
|
|
{
|
|
var groupInfo = notification.Group;
|
|
await endpoint.Publish(new GroupBlockEvent(groupInfo.Id, groupInfo.Name,
|
|
groupInfo.GroupMaster, groupInfo.Status.ToString(), groupInfo.Avatar));
|
|
}
|
|
}
|
|
}
|