forked from marg-o/brigate
224 lines
4.1 KiB
Java
224 lines
4.1 KiB
Java
|
package dao;
|
||
|
|
||
|
import java.sql.Connection;
|
||
|
import java.sql.PreparedStatement;
|
||
|
import java.sql.ResultSet;
|
||
|
import java.sql.SQLException;
|
||
|
import java.util.ArrayList;
|
||
|
|
||
|
import bean.Contatto;
|
||
|
|
||
|
public class OrdiniDao implements OrdiniDaoI {
|
||
|
ContattoDao cd = new ContattoDao();
|
||
|
|
||
|
OracleConnection c = new OracleConnection();
|
||
|
|
||
|
@Override
|
||
|
public boolean aggiungi(long telefono) {
|
||
|
|
||
|
// Cerca contatto nel db
|
||
|
Contatto contatto = cd.read(telefono);
|
||
|
Connection connection = c.open();
|
||
|
|
||
|
// Se esiste, aggiungilo agli ordini
|
||
|
if (contatto != null) {
|
||
|
String query = "insert into ordini values (?)";
|
||
|
int n = -1;
|
||
|
|
||
|
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;
|
||
|
} else {
|
||
|
c.close();
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public boolean rimuovi(long telefono) {
|
||
|
String query = "delete from ordini 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();
|
||
|
}
|
||
|
|
||
|
return n == -1 ? false : true;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public boolean aggiungi(Contatto contatto) {
|
||
|
|
||
|
// Cerca contatto nel db
|
||
|
Contatto cont = cd.read(contatto.getTelefono());
|
||
|
|
||
|
Connection connection = c.open();
|
||
|
|
||
|
// Se esiste, aggiungilo agli ordini
|
||
|
if (c != null) {
|
||
|
String query = "insert into ordini values (?)";
|
||
|
int n = -1;
|
||
|
|
||
|
try {
|
||
|
PreparedStatement st = connection.prepareStatement(query);
|
||
|
|
||
|
st.setLong(1, cont.getTelefono());
|
||
|
|
||
|
n = st.executeUpdate();
|
||
|
|
||
|
} catch (SQLException e) {
|
||
|
e.printStackTrace();
|
||
|
|
||
|
}
|
||
|
|
||
|
c.close();
|
||
|
return n == -1 ? false : true;
|
||
|
} else {
|
||
|
c.close();
|
||
|
return false;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public boolean rimuovi(Contatto contatto) {
|
||
|
String query = "delete from ordini where telefono=?";
|
||
|
int n = -1;
|
||
|
|
||
|
Connection connection = c.open();
|
||
|
|
||
|
try {
|
||
|
PreparedStatement st = connection.prepareStatement(query);
|
||
|
|
||
|
st.setLong(1, contatto.getTelefono());
|
||
|
|
||
|
n = st.executeUpdate();
|
||
|
|
||
|
} catch (SQLException e) {
|
||
|
e.printStackTrace();
|
||
|
|
||
|
}
|
||
|
|
||
|
c.close();
|
||
|
return n == -1 ? false : true;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public ArrayList<Contatto> leggiTutti() {
|
||
|
String query = "select * from ordini";
|
||
|
ArrayList<Contatto> contatti = new ArrayList<Contatto>();
|
||
|
Connection connection = c.open();
|
||
|
|
||
|
try {
|
||
|
PreparedStatement st = connection.prepareStatement(query);
|
||
|
|
||
|
ResultSet rs = st.executeQuery();
|
||
|
|
||
|
while (rs.next()) {
|
||
|
long telefono = rs.getLong(1);
|
||
|
|
||
|
Contatto contatto = cd.read(telefono);
|
||
|
|
||
|
contatti.add(contatto);
|
||
|
}
|
||
|
|
||
|
} catch (SQLException e) {
|
||
|
e.printStackTrace();
|
||
|
}
|
||
|
|
||
|
c.close();
|
||
|
|
||
|
return contatti;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public ArrayList<Contatto> leggiTutti(int limit) {
|
||
|
String query = "select o.telefono from ordini o, contatti c where rownum <= " + limit + " and o.telefono=c.telefono order by c.area";
|
||
|
ArrayList<Contatto> contatti = new ArrayList<Contatto>();
|
||
|
Connection connection = c.open();
|
||
|
|
||
|
try {
|
||
|
PreparedStatement st = connection.prepareStatement(query);
|
||
|
ResultSet rs = st.executeQuery();
|
||
|
|
||
|
while (rs.next()) {
|
||
|
System.out.println("query eseguita");
|
||
|
long telefono = rs.getLong(1);
|
||
|
|
||
|
Contatto contatto = cd.read(telefono);
|
||
|
|
||
|
contatti.add(contatto);
|
||
|
}
|
||
|
|
||
|
} catch (SQLException e) {
|
||
|
e.printStackTrace();
|
||
|
}
|
||
|
|
||
|
c.close();
|
||
|
|
||
|
return contatti;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public boolean rimuoviTutti() {
|
||
|
String query = "delete from ordini";
|
||
|
int n = -1;
|
||
|
|
||
|
Connection connection = c.open();
|
||
|
|
||
|
try {
|
||
|
PreparedStatement st = connection.prepareStatement(query);
|
||
|
|
||
|
n = st.executeUpdate();
|
||
|
|
||
|
} catch (SQLException e) {
|
||
|
e.printStackTrace();
|
||
|
|
||
|
}
|
||
|
|
||
|
c.close();
|
||
|
return n == -1 ? false : true;
|
||
|
}
|
||
|
|
||
|
@Override
|
||
|
public boolean rimuoviPrimi(int numero) {
|
||
|
String query = "delete from ordini limit " + numero;
|
||
|
int n = -1;
|
||
|
|
||
|
Connection connection = c.open();
|
||
|
|
||
|
try {
|
||
|
PreparedStatement st = connection.prepareStatement(query);
|
||
|
|
||
|
n = st.executeUpdate();
|
||
|
|
||
|
} catch (SQLException e) {
|
||
|
e.printStackTrace();
|
||
|
}
|
||
|
|
||
|
c.close();
|
||
|
|
||
|
return n == -1 ? false : true;
|
||
|
}
|
||
|
|
||
|
}
|