forked from marg-o/brigate
222 lines
5.4 KiB
Java
222 lines
5.4 KiB
Java
|
package dao;
|
||
|
|
||
|
import java.sql.Connection;
|
||
|
import java.sql.Date;
|
||
|
import java.sql.PreparedStatement;
|
||
|
import java.sql.ResultSet;
|
||
|
import java.sql.SQLException;
|
||
|
import java.time.LocalDate;
|
||
|
import java.util.ArrayList;
|
||
|
|
||
|
import bean.Contatto;
|
||
|
|
||
|
public class ContattoDao implements ContattoDaoI {
|
||
|
|
||
|
OracleConnection c = new OracleConnection();
|
||
|
|
||
|
@Override
|
||
|
public boolean create(String nome, String cognome, String servizio_sociale, String area, String indirizzo,
|
||
|
long telefono, String email, int numero_persone, String composizione_nucleo, String note_sacchetto) {
|
||
|
|
||
|
Connection connection = c.open();
|
||
|
|
||
|
String query = "insert into contatti (nome, cognome, servizio_sociale, area, indirizzo, telefono, email, numero, composizione_nucleo, note_sacchetto) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
|
||
|
int n = -1;
|
||
|
|
||
|
try {
|
||
|
PreparedStatement st = connection.prepareStatement(query);
|
||
|
|
||
|
st.setString(1, nome);
|
||
|
st.setString(2, cognome);
|
||
|
st.setString(3, servizio_sociale);
|
||
|
st.setString(4, area);
|
||
|
st.setString(5, indirizzo);
|
||
|
st.setLong(6, telefono);
|
||
|
st.setString(7, email);
|
||
|
st.setInt(8, numero_persone);
|
||
|
st.setString(9, composizione_nucleo);
|
||
|
st.setString(10, note_sacchetto);
|
||
|
|
||
|
n = st.executeUpdate();
|
||
|
|
||
|
} catch (SQLException e) {
|
||
|
e.printStackTrace();
|
||
|
}
|
||
|
|
||
|
c.close();
|
||
|
return n == -1 ? false : true;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public Contatto read(long telefono) {
|
||
|
String query = "select nome, cognome, email, servizio_sociale, area, indirizzo, numero, composizione_nucleo, note_sacchetto, ultima_consegna from contatti where telefono = ?";
|
||
|
Contatto contatto = null;
|
||
|
|
||
|
Connection connection = c.open();
|
||
|
|
||
|
try {
|
||
|
PreparedStatement st = connection.prepareStatement(query);
|
||
|
st.setLong(1, telefono);
|
||
|
|
||
|
ResultSet rs = st.executeQuery();
|
||
|
|
||
|
while (rs.next()) {
|
||
|
contatto = new Contatto();
|
||
|
|
||
|
contatto.setTelefono(telefono);
|
||
|
contatto.setNome(rs.getString(1));
|
||
|
contatto.setCognome(rs.getString(2));
|
||
|
contatto.setEmail(rs.getString(3));
|
||
|
contatto.setServizio_sociale(rs.getString(4));
|
||
|
contatto.setArea(rs.getString(5));
|
||
|
contatto.setIndirizzo(rs.getString(6));
|
||
|
contatto.setNumero_persone(rs.getInt(7));
|
||
|
contatto.setComposizione_nucleo(rs.getString(8));
|
||
|
contatto.setNote_sacchetto(rs.getString(9));
|
||
|
|
||
|
Date data = rs.getDate(10);
|
||
|
|
||
|
if (data != null) {
|
||
|
contatto.setUltima_consegna(data.toLocalDate());
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
} catch (SQLException e) {
|
||
|
e.printStackTrace();
|
||
|
}
|
||
|
|
||
|
c.close();
|
||
|
|
||
|
return contatto;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public boolean updateConsegna(long telefono, LocalDate data_consegna) {
|
||
|
String query = "update contatti set ultima_consegna=? where telefono=?";
|
||
|
int n = -1;
|
||
|
|
||
|
Connection connection = c.open();
|
||
|
|
||
|
try {
|
||
|
PreparedStatement st = connection.prepareStatement(query);
|
||
|
|
||
|
st.setDate(1, Date.valueOf(data_consegna));
|
||
|
st.setLong(2, telefono);
|
||
|
|
||
|
n = st.executeUpdate();
|
||
|
|
||
|
} catch (SQLException e) {
|
||
|
e.printStackTrace();
|
||
|
}
|
||
|
|
||
|
c.close();
|
||
|
|
||
|
return n == -1 ? false : true;
|
||
|
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public boolean update(String nome, String cognome, String servizio_sociale, String area, String indirizzo,
|
||
|
long telefono, String email, int numero_persone, String composizione_nucleo, String note_sacchetto) {
|
||
|
String query = "update contatti set nome=?, cognome=?, servizio_sociale=?, area=?, indirizzo=?, telefono=?, email = ?, numero=?, composizione_nucleo=?, note_sacchetto=? where telefono=?";
|
||
|
int n = -1;
|
||
|
|
||
|
Connection connection = c.open();
|
||
|
|
||
|
try {
|
||
|
PreparedStatement st = connection.prepareStatement(query);
|
||
|
|
||
|
st.setString(1, nome);
|
||
|
st.setString(2, cognome);
|
||
|
st.setString(3, servizio_sociale);
|
||
|
st.setString(4, area);
|
||
|
st.setString(5, indirizzo);
|
||
|
st.setLong(6, telefono);
|
||
|
st.setString(7, email);
|
||
|
st.setInt(8, numero_persone);
|
||
|
st.setString(9, composizione_nucleo);
|
||
|
st.setString(10, note_sacchetto);
|
||
|
st.setLong(11, telefono);
|
||
|
|
||
|
n = st.executeUpdate();
|
||
|
|
||
|
} catch (SQLException e) {
|
||
|
e.printStackTrace();
|
||
|
}
|
||
|
|
||
|
c.close();
|
||
|
|
||
|
return n == -1 ? false : true;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public boolean delete(long telefono) {
|
||
|
String query = "delete from contatti where telefono=?";
|
||
|
int n = -1;
|
||
|
|
||
|
Connection connection = c.open();
|
||
|
|
||
|
try {
|
||
|
PreparedStatement st = connection.prepareStatement(query);
|
||
|
|
||
|
st.setLong(1, telefono);
|
||
|
|
||
|
n = st.executeUpdate();
|
||
|
|
||
|
} catch (SQLException e) {
|
||
|
e.printStackTrace();
|
||
|
|
||
|
}
|
||
|
|
||
|
c.close();
|
||
|
|
||
|
return n == -1 ? false : true;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public ArrayList<Contatto> leggiTutti() {
|
||
|
String query = "select telefono, email, nome, cognome, servizio_sociale, area, indirizzo, numero, composizione_nucleo, note_sacchetto, ultima_consegna from contatti";
|
||
|
ArrayList<Contatto> contatti = new ArrayList<Contatto>();
|
||
|
|
||
|
Connection connection = c.open();
|
||
|
|
||
|
try {
|
||
|
PreparedStatement st = connection.prepareStatement(query);
|
||
|
|
||
|
ResultSet rs = st.executeQuery();
|
||
|
|
||
|
while (rs.next()) {
|
||
|
Contatto contatto = new Contatto();
|
||
|
|
||
|
contatto.setTelefono(rs.getLong(1));
|
||
|
contatto.setEmail(rs.getString(2));
|
||
|
contatto.setNome(rs.getString(3));
|
||
|
contatto.setCognome(rs.getString(4));
|
||
|
contatto.setServizio_sociale(rs.getString(5));
|
||
|
contatto.setArea(rs.getString(6));
|
||
|
contatto.setIndirizzo(rs.getString(7));
|
||
|
contatto.setNumero_persone(rs.getInt(8));
|
||
|
contatto.setComposizione_nucleo(rs.getString(9));
|
||
|
contatto.setNote_sacchetto(rs.getString(10));
|
||
|
|
||
|
Date data = rs.getDate(11);
|
||
|
|
||
|
if (data != null) {
|
||
|
contatto.setUltima_consegna(data.toLocalDate());
|
||
|
}
|
||
|
|
||
|
contatti.add(contatto);
|
||
|
}
|
||
|
|
||
|
} catch (SQLException e) {
|
||
|
e.printStackTrace();
|
||
|
|
||
|
}
|
||
|
|
||
|
c.close();
|
||
|
return contatti;
|
||
|
}
|
||
|
|
||
|
}
|