package labsis.vendas.dao;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import labsis.DataBase;
import labsis.vendas.model.Cliente;
public class DaoCliente {
private Connection conn;
public DaoCliente() throws ClassNotFoundException, SQLException {
DataBase db = DataBase.getDb();
Class.forName(db.getDriver());
conn = DriverManager.getConnection(db.getUrl(), db.getUser(), db
.getPassword());
}
public String novoCliente(String cpf, String nome, String rg,
String endereco, String telefone, String email) throws SQLException {
CallableStatement c = conn
.prepareCall("exec inserirCliente ?, ? ,? ,? ,? ,?");
int i = 1;
c.setString(i++, cpf);
c.setString(i++, nome);
c.setString(i++, rg);
c.setString(i++, endereco);
c.setString(i++, telefone);
c.setString(i, email);
if(c.executeUpdate()>0){
return "Cliente cadastrado com sucesso!";
}else
return "Cliente j� existente";
}
public List<Cliente> listarClientes(){
CallableStatement consultaCliente = null;
List resultado = new ArrayList();
try {
consultaCliente = conn.prepareCall("exec ListarCliente");
ResultSet result = consultaCliente.executeQuery();
Cliente cliente = null;
while (result.next()){
cliente = new Cliente();
cliente.setCfp(result.getString("cpf"));
cliente.setEmail(result.getString("email"));
cliente.setEndereco(result.getString("endereco"));
cliente.setNome(result.getString("nome"));
cliente.setRg(result.getString("rg"));
cliente.setTelefone(result.getString("telefone"));
resultado.add(cliente);
}
}catch (SQLException e) {
e.printStackTrace();
}
return resultado;
}
public ArrayList<Cliente> pesquisaCliente(String cpf, String nome) {
CallableStatement cstmt = null;
ArrayList resultado = new ArrayList();
try {
cstmt = conn.prepareCall("exec ListarCliente ?, ?");
cstmt.setString(1, nome);
cstmt.setString(2, cpf);
ResultSet rs = cstmt.executeQuery();
Cliente cliente = null;
while(rs.next()){
cliente = new Cliente();
cliente.setCfp(rs.getString("cpf"));
cliente.setEmail(rs.getString("email"));
cliente.setEndereco(rs.getString("endereco"));
cliente.setNome(rs.getString("nome"));
cliente.setRg(rs.getString("rg"));
cliente.setTelefone(rs.getString("telefone"));
resultado.add(cliente);
}
} catch (SQLException e){
e.printStackTrace();
}
return resultado;
}
public void alteraCredito(float cred, String cpf){
CallableStatement cstmt = null;
try {
cstmt = conn.prepareCall("exec AlteraCredito ?, ?");
cstmt.setFloat(1, cred);
cstmt.setString(2, cpf);
cstmt.executeUpdate();
cstmt.close();
} catch (SQLException e){
e.printStackTrace();
}
}
}