/**
* @file ControladorUsuario.java
* Archivo que contiene la clase ControladorUsuario.java
*
* @author ANASS BENALI
*/
package Controladores;
/**
*
* @author ANASS BENALI
*/
import ConexionBD.ConexionBD;
import java.sql.ResultSet;
import Interfaz.InterfazPrincipal;
import GestorUsuarios.Usuario;
import GestorUsuarios.UsuarioBD;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
public class ControladorUsuario {
private static ControladorUsuario Instancia = null; // new ControladorUsuario();
/**
* Constructor por defecto
*@param void
*@return void
*/
private ControladorUsuario() {
}
/**
* @param void
* @return Instancia
*/
public static ControladorUsuario getInstancia(){
if(Instancia == null)
Instancia = new ControladorUsuario();
return Instancia;
}
/**
*
* @return
* @throws CloneNotSupportedException
*/
public Object clone() throws CloneNotSupportedException {
throw new CloneNotSupportedException();
}
/**
*
* @param Datos
* @return
*/
public Boolean addUsuario(String[] Datos){
Boolean gestor;
if(Datos[6].equals("G")) {
gestor = true;
}
else {
gestor = false;
}
Usuario user = new Usuario(Datos[0], Datos[1], Datos[2], Datos[3], Datos[4], Datos[5], gestor);
user = UsuarioBD.getInstancia().addUsuario(user);
if(user!=null) {
return true;
} else {
return false;
}
}
/**
*
* @param dniUsuario
* @return
* @throws SQLException
*/
public Usuario getUsuario(String dniUsuario ) throws SQLException{
Usuario user = new Usuario();
user = UsuarioBD.getInstancia().getUsuario(dniUsuario);
return user;
}
/**
* Funcion que verifica si el usuario puede acceder a la aplicacion o no
* @param login
* @param password
* @return
*/
public static Usuario autentificarse(String login, String password){
Usuario user=null;
try {
user = UsuarioBD.getInstancia().getlogin(login, password);
} catch (SQLException ex) {
//Logger.getLogger(ControladorUsuario.class.getName()).log(Level.SEVERE, null, ex);
}
return user;
}
/**
*
* @param user
* @return
*/
public Boolean updateUsuario(Usuario user) throws SQLException{
user.setIdUsuario(UsuarioBD.getInstancia().getidUsuario(user.getDNI()));
UsuarioBD.getInstancia().updateUsuario(user);
return true;
}
/**
*
* @param idUsuario
* @return
*/
public Boolean deleteUsuario(String dniUsuario) throws SQLException {
Boolean borrado = false;
Usuario user;
user = UsuarioBD.getInstancia().getUsuario(dniUsuario);
if(UsuarioBD.getInstancia().deleteUsuario(user.getIdUsuario())){
borrado = true;
}
return borrado;
}
/**
*
* @param user
* @param nombreUsuario
* @param apellidosUsuario
* @param dniUsuario
* @param correoUsuario
* @param gestor
* @param login
* @param contrasena
* @return
*/
public Boolean setUsuario(Usuario user, String nombreUsuario, String apellidosUsuario, String dniUsuario, String correoUsuario, Boolean gestor, String login, String contrasena){
Boolean salida = true;
String consulta ="UPDATE Usuario SET Nombre='" + nombreUsuario+
"', Apellidos='" + apellidosUsuario +
"', DNI='" + dniUsuario +
"', Correo='" + correoUsuario +
"', Login='" + login +
"', Contrasena'" + contrasena +
"', tipoUsuario='";
if(gestor){
consulta+="G";
}
else {
consulta+="E";
}
consulta+="' WHERE idUsuario=" + user.getIdUsuario().toString() + ";";
try {
ConexionBD.getInstancia().conectar();
ConexionBD.getInstancia().actualizar(consulta);
ConexionBD.getInstancia().desconectar();
} catch (SQLException ex) {
System.out.println(ex);
salida=false;
}
return salida;
}
}