// Verificar como ficará o atributo data_cancelamento neste método, somente // incluir, quando for alterado de ativo // para cancelado public boolean altera(Parque parque) { String sql = "UPDATE parque SET status_acordo = ?, data_cancelamento = ? WHERE contrato_terminal_id_terminal = ? AND " + "contrato_cliente_id_cliente = ? AND politica_comercial_id_politica = ?"; try { stmt = connection.prepareStatement(sql); stmt.setString(1, parque.getStatusContrato().name()); stmt.setDate(2, new Date(parque.getDataCancelamento().getTimeInMillis())); stmt.setLong(3, parque.getTerminal().getId()); stmt.setLong(4, parque.getCliente().getId()); stmt.setLong(5, parque.getPolitica().getId()); stmt.execute(); return true; } catch (SQLException e) { throw new RuntimeException(e.getMessage()); } finally { DaoUtil.fecha(stmt, rs); } }
/** * @author Diego Parente * <p>Este método adiciona um Parque no banco de dados. Retorna um boolean para facilitar os * testes no JUnit. * @param Parque Objeto Parque * @return boolean Retorno do método que serve para validar a operação */ public boolean adiciona(Parque parque) { String sql = "INSERT INTO parque (contrato_terminal_id_terminal, contrato_cliente_id_cliente," + " politica_comercial_id_politica, status_acordo, data_registro) VALUES(?,?,?,?,?)"; try { stmt = connection.prepareStatement(sql); stmt.setLong(1, parque.getTerminal().getId()); stmt.setLong(2, parque.getCliente().getId()); stmt.setLong(3, parque.getPolitica().getId()); stmt.setString(4, parque.getStatusContrato().name()); stmt.setDate(5, new Date(parque.getDataRegistro().getTimeInMillis())); stmt.execute(); return true; } catch (SQLException e) { throw new RuntimeException(e.getMessage()); } finally { DaoUtil.fecha(stmt, rs); } }
/** * @author Diego Parente * @param id Parametro que representa o ID do Parque no Banco de Dados * @return Parque O método retornará um objeto Parque ao seu chamador */ public Parque busca(Parque parque) { String sql = "SELECT * FROM parque WHERE contrato_terminal_id_terminal = ? AND " + "contrato_cliente_id_cliente = ? AND politica_comercial_id_politica = ?"; try { stmt = connection.prepareStatement(sql); stmt.setLong(1, parque.getTerminal().getId()); stmt.setLong(2, parque.getCliente().getId()); stmt.setLong(3, parque.getPolitica().getId()); rs = stmt.executeQuery(); if (rs.next()) { return this.populaParque(rs); } else { throw new RegistroNaoLocalizadoException(parque); } } catch (SQLException e) { throw new RuntimeException(e.getMessage()); } finally { DaoUtil.fecha(stmt, rs); } }
/** * @author Diego Parente * <p>Este método retora uma lista de parques * @return List<Parque> Uma Lista de Parques */ public List<Parque> lista() { String sql = "SELECT * FROM parque"; List<Parque> parques = new ArrayList<>(); try { stmt = connection.prepareStatement(sql); rs = stmt.executeQuery(); while (rs.next()) { parques.add(populaParque(rs)); } if (!parques.isEmpty()) { return parques; } else { throw new ListaVaziaException(parques); } } catch (SQLException e) { throw new RuntimeException(e.getMessage()); } finally { DaoUtil.fecha(stmt, rs); } }