using GroupService.Domain.Events; using IM.Commons.IntegrationEvents; using MassTransit; using MediatR; namespace GroupService.WebApi.Application.EventHandler { public class GroupBlockHandler : INotificationHandler { 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)); } } }