Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Update(Atualizar) a quantidade dos itens do carrinho

olá Pessoal, boa tarde..

Alguém fez o Update(mexer na quantidade) da quantidade dos itens do carrinho?

obrigado...

6 respostas

Oi Fagner, vou tentar dar uma ideia de caminho aqui, já que isso não foi coberto na explicação. Você precisa de mais um método no seu controller do carrinho que receba o id produto que precisa ser atualizado e a nova quantidade, algo assim:

public String update(Integer productId, Integer quantity) {
  //busca o produto pelo id
  //invoca um método no carrinho passando a nova quantidade
}

Depois avisa aqui se rolou?

grande Alberto, obrigado pela dica...vou tentar aqui...qualquer dúvida eu falo...abs..

olá Alberto, bom dia.... Eu tentei fazer, parei no código abaixo, coloquei esse método na classe CarrinhoCompras. O CarrinhoCompraController chama esse método.

me ajude aqui, por favor?

****************************************
public class CarrinhoCompras {
//código.....

    public void update(Integer produtoId, TipoPreco tipoPreco) {
        Produto produto = new Produto();
        produto.setId(produtoId);

        itens.merge(itens.keySet(), value, remappingFunction);

    }

Oi Fagner, o primeiro passo é vc carregar o produto através do dao, em vez de instanciar na mão e setar o id.

Depois disso, tenta fazer um método na classe ShoppingCart para atualizar, algo assim:

public void update(ShoppingCartItem item,int novaQuantidade){
   //aqui vc precisa procurar um item igual ao que foi passado e então atualizar a quantidade. 
}

Vou deixar a cereja do bolo para vc :)

solução!

olá Alberto, boa tarde....

Deu certo, muito obrigado pela ajuda.... segue código.

Caso, vc tenha alguma observação sobre meu código...me fale.....valeu

public void update(CarrinhoVendaItem item, Integer nova_quantidade) {
        if (itens.containsKey(item)) {
            itens.put(item, nova_quantidade);
            itens.get(item);
        }
    }

Mandou bem! Acho que sobrou apenas uma linha ali, o itens.get(item)... Ela não está sendo usada para nada :). Vou marcar como solução também.