public void RegisterEvent <T>() where T : class, IEvent { var client = _rabbitMqServer.GetRabbitMQClient(); var eventHandler = _container.GetInstance <IEventHandler <T> >(); client.Consume(QueueNamingFactory.GetEventQueue <T>(), msg => eventHandler.Handle(msg.GetBody <T>())); }
public void RegisterCommand <T>() where T : class, ICommand { var client = _rabbitMqServer.GetRabbitMQClient(); var commandHandler = _container.GetInstance <ICommandHandler <T> >(); client.Consume(QueueNamingFactory.GetCommandQueue <T>(), msg => commandHandler.Handle(msg.GetBody <T>())); }
public static Message <T> CreateFromCommand <T>(T command) where T : class, ICommand { var msg = Message <T> .Create(command); msg.Queue = QueueNamingFactory.GetCommandQueue <T>(); return(msg); }
public static Message <T> CreateFromEvent <T>(T _event) where T : class, IEvent { var msg = Message <T> .Create(_event); msg.Queue = QueueNamingFactory.GetEventQueue <T>(); return(msg); }
public static Message <TCommand> CreateFromCommandReturns <TCommand, TResponse>(TCommand command) where TCommand : class, ICommandReturns <TResponse> where TResponse : class, ICommandResponse { var msg = Message <TCommand> .Create(command); msg.Queue = QueueNamingFactory.GetCommandQueue <TCommand>(); msg.CallBackQueue = QueueNamingFactory.GetCallBackQueue <TCommand, TResponse>(); return(msg); }
public void RegisterCommandResponse <TCommand, TResponse>() where TCommand : class, ICommand, ICommandReturns <TResponse> where TResponse : class, ICommandResponse { var client = _rabbitMqServer.GetRabbitMQClient(); var commandHandler = _container.GetInstance <ICommandHandlerResponse <TCommand, TResponse> >(); client.ConsumeAndRespond(QueueNamingFactory.GetCommandQueue <TCommand>(), msg => { var response = commandHandler.Handle(msg.GetBody <TCommand>()); return(MessageFactory.CreateResponse(msg, response)); }); }