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