public void Submit(IOrderAccepted order) { var factory = GetConnectionFactory(); using (var connection = factory.CreateConnection()) { using (var channel = connection.CreateModel()) { DeclareExchange(channel); var message = JsonConvert.SerializeObject(order); var body = Encoding.UTF8.GetBytes(message); channel.BasicPublish(Constants.EXCHANGE_NAME, Constants.ORDER_ACCEPTED_EVENT, null, body); Console.WriteLine(" [x] Sent '{0}':'{1}'", Constants.ORDER_ACCEPTED_EVENT, message); } } }
private static void ProcessEvent(IOrderAccepted orderEvent, IModel channel) { Console.Write("\tProcessing order {0}...", orderEvent.OrderId); ICustomerBilled billedEvent = new CustomerBilledEvent(orderEvent.OrderId); Thread.Sleep(5000); var message = JsonConvert.SerializeObject(billedEvent); var body = Encoding.UTF8.GetBytes(message); channel.BasicPublish(Constants.EXCHANGE_NAME, Constants.CUSTOMER_BILLED_EVENT, null, body); //Console.WriteLine(" [<<<<<<<<<<] Customer Billed '{0}':'{1}'", Constants.CUSTOMER_BILLED_EVENT, orderEvent.OrderId); Console.WriteLine("Done"); }