Skip to content

Instantly share code, notes, and snippets.


dcomartin/PlaceOrderDelegate.cs Secret

Created Jan 27, 2021
What would you like to do?
public class PlaceOrderHandler : IHandleMessages<PlaceOrder>
private readonly SalesDbContext _dbContext;
private readonly WarehouseInventoryQuery.DoAllProductsHaveQtyOnHand _doAllProductsHaveQtyOnHand;
public PlaceOrderHandler(SalesDbContext dbContext, WarehouseInventoryQuery.DoAllProductsHaveQtyOnHand doAllProductsHaveQtyOnHand)
_dbContext = dbContext;
_doAllProductsHaveQtyOnHand = doAllProductsHaveQtyOnHand;
public async Task Handle(PlaceOrder message, IMessageHandlerContext context)
if (_doAllProductsHaveQtyOnHand(message.OrderId) == false)
await _dbContext.Orders.AddAsync(new Order
OrderId = message.OrderId,
Status = OrderStatus.Pending
await _dbContext.SaveChangesAsync();
var orderPlaced = new OrderPlaced
OrderId = message.OrderId
await context.Publish(orderPlaced);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment