933 B
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>();