public Task <bool> Handle(RegistrarCompraCommand command, CancellationToken cancellationToken) { var solicitacao = new SolicitacaoCompra(command.UsuarioSolicitante, command.NomeFornecedor); command.Itens.ToList().ForEach(x => { var produto = _produtoRepository.Obter(x.IdProduto); solicitacao.AdicionarItem(produto, x.Qtde); }); solicitacao.RegistrarCompra(); _solicitacaoCompraRepository.RegistrarCompra(solicitacao); Commit(); PublishEvents(solicitacao.Events); return(Task.FromResult(true)); }