public async Task <IActionResult> InitOrder([FromBody] InitOrderRequest?request) { var orderId = idGenerator.New(); var command = InitializeOrder.Create( orderId, request?.ClientId, request?.ProductItems?.Select( pi => PricedProductItem.Create(pi.ProductId, pi.Quantity, pi.UnitPrice)).ToList(), request?.TotalPrice ); await commandBus.Send(command); return(Created("api/Orders", orderId)); }
// Happy path public Task Handle(CartFinalized @event, CancellationToken cancellationToken) { var orderId = idGenerator.New(); return(commandBus.Send(InitializeOrder.Create(orderId, @event.ClientId, @event.ProductItems, @event.TotalPrice))); }