dotnet-cqrs/docs/samples/quick-snippets.md

933 B

Quick Snippets

Common code snippets.

Basic Command

public record CreateOrderCommand
{
    public int CustomerId { get; init; }
}

public class CreateOrderHandler : ICommandHandler<CreateOrderCommand, int>
{
    public async Task<int> HandleAsync(CreateOrderCommand command, CancellationToken ct)
    {
        // Handle command
        return orderId;
    }
}

// Registration
builder.Services.AddCommand<CreateOrderCommand, int, CreateOrderHandler>();

Basic Query

public record GetOrderQuery
{
    public int OrderId { get; init; }
}

public class GetOrderHandler : IQueryHandler<GetOrderQuery, OrderDto>
{
    public async Task<OrderDto> HandleAsync(GetOrderQuery query, CancellationToken ct)
    {
        // Handle query
        return orderDto;
    }
}

// Registration
builder.Services.AddQuery<GetOrderQuery, OrderDto, GetOrderHandler>();

See Also