Boa noite pessoal, estou fazendo um carrinho de compras com JSF e JPA, mas a minha dúvida é a seguinte, eu tenho o carrinho, adiciono os produtos em um arraylist nele que fica na sessão, retorno o valor de todos os produtos e as quantidades em um dataTable, mas como eu faço pra gravar esses produtos em um pedido? Já fiz o modelo do pedido com os dados do cliente, mas como integro esses produtos que esse pedido tem que receber? Obrigado desde já
Assim está o código do meu carrinho:
@ManagedBean
@SessionScoped
public class Carrinho {
private ArrayList<Produto> produtos = new ArrayList<Produto>();
public ArrayList<Produto> getProdutos() {
return produtos;
}
public void setProdutos(ArrayList<Produto> produtos) {
this.produtos = produtos;
}
public Produto getProduto(int id) {
Produto mp = null;
for(Produto p : produtos) {
if(p.getId() == id) {
return p;
}
}
return mp;
}
public void adiciona(Produto p) {
produtos.add(p);
}
public void adicionar(int id) {
Produto p = getProduto(id);
p.setQtdCarrinho(p.getQtdCarrinho()+1);
}
public void remover(int id) {
Produto p = getProduto(id);
if(p.getQtdCarrinho() > 1) {
p.setQtdCarrinho(p.getQtdCarrinho()-1);
}else {
produtos.remove(p);
}
}
public void removerGeral(int id) {
Produto p = getProduto(id);
produtos.remove(p);
}
public double total() {
double total = 0.;
for(Produto produto : produtos) {
total += produto.getPreco() * produto.getQtdCarrinho();
}
return total;
}
}