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));
    }
Beispiel #2
0
    // 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)));
    }