Cursos / Informática para Internet / Desenvolvimento Web I / Aula

arrow_back Aula 15 - Desenvolvendo uma livraria virtual – Parte 4

Implementar a funcionalidade de “Alterar carrinho de compras” II

A única diferença entre a célula que contém o incremento e a que contém o decremento são a imagem e o valor do parâmetro quantidade (que pode ser 1 ou -1, para incrementar e decrementar, respectivamente).

Outra modificação que precisa ser feita é no código do servlet. Como uma nova operação que não existia antes precisa ser executada (incremento e decremento de quantidade de itens do carrinho), precisamos também modificar o código do ServletControladorLivraria. Neste arquivo iremos melhorar a execução da ação de mostrarCarrinho, conforme o trecho abaixo (que representa somente a parte do código do servlet que foi afetada).

x
1
    } else if (acaoSelecionada.equals("/livros/mostrarCarrinho")) { 
2
        idLivro = request.getParameter("remover");
3
4
          if (idLivro != null) { 
5
           carrinho.remover(idLivro);
6
          }
7
8
          limpar = request.getParameter("limpar");
9
10
          if ((limpar != null) && limpar.equals("limpar")) { 
11
           carrinho.limpar();
12
          }
13
14
          idLivro = request.getParameter("alterar");
15
16
          if (idLivro != null) { 
17
           int quantidade = Integer.parseInt(request.getParameter("quantidade")); 
18
19
           if(quantidade == 1){ 
20
            carrinho.aumentarQuantidade(idLivro);
21
           }
22
           else if(quantidade == -1){ 
23
            carrinho.diminuirQuantidade(idLivro); 
24
25
           }
26
        }
27
    }
Listagem 2 - Código parcial do ServletControladorLivraria
play_circle_filled
Vídeo 03 - Adicionando Controle de Quantidade ao Carrinho

Como podemos ver, nesse incremento da funcionalidade, verificamos se foi solicitada uma alteração (isso é feito verificando se o parâmetro alterar é diferente de null). Caso isso seja verdade, recuperamos a quantidade e avaliamos se é um decremento ou incremento, chamando em seguida o método correto do carrinho de compras. Esses dois novos métodos são aumentarQuantidade() e diminuirQuantidade().

Por fim, iremos modificar a classe CarrinhoCompras para implementar esses dois novos métodos, conforme mostrado no trecho de código abaixo.

12
1
    public void aumentarQuantidade(String idLivro) {
2
        if (itens.containsKey(idLivro)) { 
3
            ItemCompra item = itens.get(idLivro); 
4
            item.incrementaQuantidade();
5
        }
6
    }
7
    public void diminuirQuantidade(String idLivro) { 
8
        if (itens.containsKey(idLivro)) { 
9
            ItemCompra item = itens.get(idLivro); 
10
            item.decrementaQuantidade();
11
        }
12
    }
Listagem 3 - Novos métodos da classe CarrinhoCompras

Versão 5.3 - Todos os Direitos reservados