public MessageHandlerResult HandleMessage(Message request) { Client client = clientRepository.GetByID(request.clientId); client.UnsubscribeFrom(request.subscription); var e = new UnsubscribedEvent(client, request.subscription); EventHub.Publish(e); Message[] message = { new Message { id = request.id, channel = request.channel, successful = true, clientId = client.ID, subscription = request.subscription } }; return(new MessageHandlerResult { Message = message, ShouldWait = false }); }
private bool UnsubscribeClientAndPublishEvent(string clientId, string subscription) { IClient client = clientRepository.GetByID(clientId); if (client == null || !client.IsSubscribedTo(subscription)) { return(false); } client.UnsubscribeFrom(subscription); UnsubscribedEvent e = new UnsubscribedEvent(client, subscription); EventHub.Publish(e); return(true); }