Arraste elementos CQRS do menu lateral para começar 🎨
public record CriarPedidoCommand( Guid ClienteId, List<ItemPedido> Itens ) : ICommand; // Gerado automaticamente pela IA public class CriarPedidoCommandHandler : ICommandHandler<CriarPedidoCommand> { private readonly IEventStore _eventStore; public async Task Handle( CriarPedidoCommand command) { // Validações if (command.Itens.Count == 0) throw new DomainException( "Pedido deve ter pelo menos um item"); // Criar agregado var pedido = Pedido.Criar( command.ClienteId, command.Itens); // Persistir eventos await _eventStore.Save(pedido); } }