protected override async Task ExecuteAsync(CancellationToken cancellationToken) { Console.WriteLine("OrderProcessing Service Started"); while (!cancellationToken.IsCancellationRequested) { using (var consumer = new ConsumerBuilder <Ignore, string>(consumerConfig).Build()) { consumer.Subscribe("orderrequests"); while (!cancellationToken.IsCancellationRequested) { var result = consumer.Consume(cancellationToken); // handle the message var order = JsonConvert.DeserializeObject <OrderRequest>(result.Message.Value); Console.WriteLine($"Info: OrderHandler => Processing the order for {order.productname}"); order.status = OrderStatus.COMPLETED; var producerWrapper = new ProducerWrapper(producerConfig, "readytoship"); await producerWrapper.PublishMessage(JsonConvert.SerializeObject(order)); } consumer.Close(); } } }
public async Task <ActionResult> PostAsync([FromBody] OrderRequest value) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var order = JsonConvert.SerializeObject(value); Console.WriteLine("============="); Console.WriteLine("Info: OrderController => Post => Received a new purchase order:"); Console.WriteLine(order); Console.WriteLine("============="); var producer = new ProducerWrapper(this.config, "orderrequests"); await producer.PublishMessage(order); return(Created($"TransactionId", "Your order is in progress")); }