Java tutorial
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package restaurante; import java.util.List; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.Iterator; import javax.swing.JOptionPane; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.cfg.Configuration; /** * * @author Hygor */ public class Restaurante { private static List<Mesa> mesas = new ArrayList<>(); private static List<Cliente> clientes = new ArrayList<>(); private static List<Item> cardapio = new ArrayList<>(); private static List<Garcom> garcons = new ArrayList<>(); private static List<Conta> contas = new ArrayList<>(); //Abaixo seguem os mtodos para cadastro de dados public static void cadastraCliente(String nome, String dataNasc, String cpf, String endereco, String email, String telefone) { Calendar cal = Calendar.getInstance(); String dia = String.valueOf(cal.get(Calendar.DATE)); String mes = String.valueOf(cal.get(Calendar.MONTH) + 1); String ano = String.valueOf(cal.get(Calendar.YEAR)); String dataCadastro = dia + "/" + mes + "/" + ano; Cliente c = new Cliente(); c.setNome(nome); c.setDataNasc(dataNasc); c.setCpf(cpf); c.setEndereco(endereco); c.setEmail(email); c.setTelefone(telefone); c.setDataCadastro(dataCadastro); salvarCliente(c); JOptionPane.showMessageDialog(null, "Cliente cadastrado com sucesso"); } public static void cadastraMesa(int id) { Mesa m = new Mesa(); m.setId(id); if (!mesas.contains(m)) { mesas.add(m); JOptionPane.showMessageDialog(null, "Mesa cadastrada com sucesso"); } else { JOptionPane.showMessageDialog(null, "Mesa j existe"); } } public static void cadastraGarcom(String nome, int id) { Garcom g = new Garcom(); g.setNome(nome); g.setId(id); salvarGarcom(g); } public static void adicionaItemCardapio(int idI, String nome, Item.tipoItem tipo, String desc, double preco) { Item i = new Item(); i.setId(idI); i.setNome(nome); // i.setTipoItem(tipo); i.setDescricao(desc); i.setPrecoUnit(preco); if (!cardapio.contains(i)) { cardapio.add(i); JOptionPane.showMessageDialog(null, "Item adicionado ao cardpio com sucesso"); } else { JOptionPane.showMessageDialog(null, "Item j incluso no cardpio"); } } //Fim dos mtodos para casastro de dados //Incio dos das operaes public static void novoPedido(Cliente cliente, Mesa mesa, List<Item> lItens, List<Integer> qntdItens) throws Exception { Pedido p = new Pedido(); Date dataAt = Pedido.formataDataAtual(); p.setData(dataAt); p.setAberto(true); p.setItensPedido(lItens, qntdItens); /* if (cliente.getConta() != null) { cliente.getConta().novoPedido(p); } else { novaConta(cliente, dataAt, mesa); cliente.getConta().novoPedido(p); }*/ JOptionPane.showMessageDialog(null, "Pedido feito com sucesso"); } public static void novaConta(Cliente cliente, Date data, Mesa mesa) { Conta ct = new Conta(); ct.setCliente(cliente); ct.setData(data); ct.setMesa(mesa); ct.setAberta(true); //ct.getCliente().setConta(ct); if (!contas.contains(ct)) { contas.add(ct); JOptionPane.showMessageDialog(null, "Conta criada com sucesso"); } else { JOptionPane.showMessageDialog(null, "Conta j existe"); } } public static List<Conta> getContasAbertas() { List<Conta> lAux = new ArrayList<>(); for (Conta c : contas) { if (c.isAberta()) { lAux.add(c); } } return lAux; } public static Cliente getCliente(String cpf) { Iterator<Cliente> it = clientes.iterator(); while (it.hasNext()) { Cliente c = it.next(); if (c.getCpf().equals(cpf)) { return c; } } return null; } public static Item getItemCardapio(int codItem) { Iterator<Item> it = cardapio.iterator(); while (it.hasNext()) { Item item = it.next(); if (item.getId() == codItem) { return item; } } return null; } public static Mesa getMesa(int idM) { Iterator<Mesa> it = mesas.iterator(); while (it.hasNext()) { Mesa m = it.next(); if (m.getId() == idM) { return m; } } return null; } public static Garcom getGarcom(int id) { Iterator<Garcom> it = garcons.iterator(); while (it.hasNext()) { Garcom g = it.next(); if (g.getId() == id) { return g; } } return null; } public static String[] getItensCardapio() { List<String> l = new ArrayList<>(); for (Item i : Restaurante.getCardapio()) { l.add(i.toString()); } return l.toArray(new String[l.size()]); } //Fim das operaes //Incio dos mtodos get's public static List<Item> getCardapio() { return cardapio; } public static List<Mesa> getMesas() { return mesas; } public static List<Cliente> getClientes() { return clientes; } public static List<Garcom> getGarcons() { return garcons; } public static List<Conta> getContas() { return contas; } //Fim dos mtodos get's //Demais mtodos public static void imprimeListaClientes() { for (Cliente cliente : clientes) { System.out.print(cliente.toString()); } } public static void removerCadastro(Object obj) { if (obj instanceof Cliente) { clientes.remove(obj); } if (obj instanceof Garcom) { garcons.remove(obj); } if (obj instanceof Mesa) { Mesa mesa = (Mesa) obj; mesas.remove(mesa); } if (obj instanceof Item) { cardapio.remove(obj); } } public static void salvarCliente(Cliente c) { Configuration cfg = new Configuration(); cfg.configure("hibernate.cfg.xml"); SessionFactory sf = cfg.buildSessionFactory(); Session session = sf.openSession(); Transaction tx = session.beginTransaction(); session.save(c); tx.commit(); session.close(); JOptionPane.showMessageDialog(null, "Cliente salvo com sucesso"); } public static void salvarGarcom(Garcom g) { Configuration cfg = new Configuration(); cfg.configure("hibernate.cfg.xml"); SessionFactory sf = cfg.buildSessionFactory(); Session session = sf.openSession(); Transaction tx = session.beginTransaction(); session.save(g); tx.commit(); session.close(); JOptionPane.showMessageDialog(null, "Garcom salvo com sucesso"); } }