public async Task Consume(ConsumeContext <OrderCreatedEvent> context) { var eventMessage = context.Message; var customer = await _orderWriteDbContext.Customers.FirstOrDefaultAsync(i => i.CustomerId == eventMessage.CustomerId); var product = await _orderWriteDbContext.Products.FirstOrDefaultAsync(i => i.ProductId == eventMessage.ProductId); _orderReadDbContext.OrderPreviews.Add(new OrderPreview { OrderStatus = eventMessage.OrderStatus, CustomerAddress = customer.Adress, CustomerId = customer.CustomerId, CustomerName = customer.Name, ProductId = product.ProductId, ProductName = product.ProductName, OrderId = eventMessage.OrderId, Quantity = eventMessage.Quantity, Total = eventMessage.Total }); await _orderReadDbContext.SaveChangesAsync(); await Console.Out.WriteLineAsync($"OrderId={eventMessage.OrderId} has processed!"); }
public async Task Consume(ConsumeContext <OrderCanceledEvent> context) { var order = await _orderReadDbContext.OrderPreviews.FirstOrDefaultAsync(i => i.OrderId == context.Message.OrderID); order.OrderStatus = "Canceled"; await _orderReadDbContext.SaveChangesAsync(); await Console.Out.WriteLineAsync($"OrderId={context.Message.OrderID} has processed!"); }