Estou tentando fazer algo similar ao carrinho de compras da fj-28.
No exemplo da apostila, o carrinho de compras dura enquanto o usuário está logado. Para isso, é usada a anotação @SessionScoped.
Para o meu caso, eu preciso de um carrinho que dure menos, em uma sessão eu posso ter vários “carrinhos”. O usuário vai adicionando os itens que ele quer, e quando terminar, manda submeter e o mesmo é finalizado, cadastrado no banco etc. Mas depois o usuário pode, na mesma sessão, criar outros carrinhos de compras.
Crie uma classe @Component@SessionScoped chamada CarrinhosDeCompra, que gerencia vários CarrinhoDeCompra.
Dai é só dar um jeito de identificar qual CarrinhoDeCompra o usuario está usando e pegá-lo no CarrinhosDeCompra.
vc pode dar um nome melhor pra isso =)
[]'s
G
garcia-jj
O correto é, ao final da compra, você remover o carrinho de compras da HttpSession.
N
nazaro_lc
Acho que se eu explicar o meu contexto fica melhor.!
Um dentista faz um orçamento para um cliente. Neste orçamento ele vai selecionar o(s) dente(s) em que será feito tal procedimento. Vai adicionando isso ao orçamento(eu fiz a analogia ao carrinho de compras).
O dentista pode fazer vários orçamentos para vários clientes na mesma sessão, e esses orçamentos serão persistidos.
–
Quanto à sua dica Lucas, se não for abusar, tem como você postar um exemplo de como ficaria a classe CarrinhosDeCompra?
G
garcia-jj
Eu criaria um objeto CarrinhoDeCompras e dentro dele uma lista de orçamentos (List ).
Lucas_Cavalcanti
carrinhoDeCompras talvez não seja um bom nome…
o que representa um conjunto de orçamentos para um dentista? ou melhor ainda, o que representa o dia de trabalhos do dentista?
orçamentos diferentes podem ser feitos ao mesmo tempo? se não puderem, talvez nem precise fazer tudo isso, só resetar o orçamento qdo vc terminá-lo, como o garcia-jj já falou.
enfim, vou supor que vc vai chamar de Orcamentos, daí vc pode criar uma classe assim:
Eu posso usar em uma mesma classe as anotações: @Component @SessionScoped @Entity @Table(name=“tb_BlaBla”)
?
Lucas_Cavalcanti
pode sim sem problemas, mas geralmente é bom separar as responsabilidades
N
nazaro_lc
Blz!
É que eu percebi que já tenho uma classe que tem parte da lógica da lista de serviços(vou só aprimorá-la). E essa classe é tbm uma entidade, então pensei em não criar mais classe para não repetir código.