Skip to content

Instantly share code, notes, and snippets.

@dcomartin

dcomartin/PurchaseProduct.cs Secret

Created Oct 21, 2020
Embed
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
You can’t perform that action at this time.