Skip to content

Instantly share code, notes, and snippets.

Created October 21, 2020 21:53
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
What would you like to do?
public class PurchaseProductHandler : IRequestHandler<PurchaseProduct>
private readonly SalesDbContext _dbContext;
private readonly IProductQuery _productQuery;
public PurchaseProductHandler(SalesDbContext dbContext, IProductQuery productQuery)
_dbContext = dbContext;
_productQuery = productQuery;
public async Task<Unit> Handle(PurchaseProduct request, CancellationToken cancellationToken)
var product = await _productQuery.GetProduct(request.ProductId);
var order = new Order
OrderId = Guid.NewGuid(),
Items = new List<OrderItem>
new OrderItem
ProductId = request.ProductId,
Price = product.Price
await _dbContext.Orders.AddAsync(order, cancellationToken);
await _dbContext.SaveChangesAsync();
return Unit.Value;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment