private async Task ManipularNovoCarinho(CarrinhoItem item) { var carrinho = new CarrinhoCliente(_user.ObterUserId()); carrinho.AdicionarItem(item); ValidarCarrinho(carrinho); await _carrinhoRepository.Adicionar(carrinho); }
public Task <bool> Handle(RegistrarCarrinhoCommand request, CancellationToken cancellationToken) { var carrinho = new Entities.Carrinho.Carrinho(request.Id, request.Quantidade, request.ProdutoId); if (!carrinho.EhValido()) { NotificarValidacoesErro(carrinho.ValidationResult); return(Task.FromResult(false)); } _carrinhoRepository.Adicionar(carrinho); if (Commit()) { _mediator.PublicarEvento(new CarrinhoRegistradoEvent(carrinho.Id, carrinho.Quantidade, carrinho.ProdutoId)); } return(Task.FromResult(true)); }