예제 #1
0
        public async Task Consume(ConsumeContext <ProductionEvent> context)
        {
            var message = context.Message;

            message.OrderStatus = Status.InProduction.ToString();
            var workitem = new Activity {
                OrderID     = message.OrderID,
                ProductName = message.ProductName,
                ProductID   = message.ProductID,
                OrderStatus = message.OrderStatus,
                OrderNumber = message.OrderNumber,
                Description = message.Description,
                Component   = message.Component
            };

            var result = await _repository.AddWorkItem(workitem);



            await _publishEndpoint.Publish <ProductionEvent>(message);

            _logger.LogInformation("ProductionEvent consumed successfully. Work Item Id : {OrderNumber}", result.OrderNumber);


            // need to update customer and order status like email etc
            _logger.LogInformation("Order Update for  Work Item OrderNumber : {OrderNumber} ", workitem.OrderNumber + " with Order status as " + workitem.OrderStatus + " sent successfully  with correlationId " + context.Message.CorrelationId);
        }