/*Método para llevar a cabo la modificación de los datos personales de un usuario. * Requiere: un objeto Funcionario para ser modificado con los nuevos valores y la cédula de este, para localizarlo en la Base de datos. * Modifica: Modifica los datos de un usuario particular. * Retorna: Devuelve un true si se ejecutó la actualización correctamente en la base de datos. */ public bool modificarFuncionario(Funcionario nuevo, String cedula) { try { string modif = "UPDATE Funcionario SET cedula ='" + nuevo.getCedula + "', nombre='" + nuevo.getNombre + "' , apellido1= '" + nuevo.getApellido1 + "', apellido2= '" + nuevo.getApellido2 + "', email = '" + nuevo.getEmail + "', usuario='" + nuevo.getUsuario + "', contrasena ='" + nuevo.getContrasena + "' WHERE cedula='" + cedula + "';"; return acceso.insertarDatos(modif); } catch (SqlException e) { return false; } }
/*Método para ejecutar la acción del IMEC correspondiente a la base de datos. * Requiere: un modo que corresponde a 1 si es una inserción, 2 - modificación y 3 Borrado. * Modifica una variable boolean dependiendo si la inserción el borrado y el modificar se llevan a cabo correctamente. * Retorna el valor de la variable booleana. */ public bool ejecutarAccion(int modo, int accion, Object[] datos, String cedula) { Boolean resultado = false; switch (modo) { case 1: { // INSERTAR if (accion == 1)//Insertar Funcionario { Funcionario nuevo = new Funcionario(datos); resultado = controladoraBDRecurso.insertarFuncionario(nuevo); } else if (accion == 2) //Insertar administrador { EntidadAdministrador nuevoadmin = new EntidadAdministrador(datos); resultado = controladoraBDRecurso.insertarAdministrador(nuevoadmin); } else if (accion == 3) //Insertar miembro de equipo de pruebas { EntidadMiembro nuevoamiembro = new EntidadMiembro(datos); resultado = controladoraBDRecurso.insertarMiembro(nuevoamiembro); } else if (accion == 4) //Inserta telefonos del funcionario { EntidadTelFuncionario telefonos = new EntidadTelFuncionario(datos); resultado = controladoraBDRecurso.insertarTelefono(telefonos); } else if (accion == 5) //Insertar miembro de equipo de pruebas en un determinado proyecto { EntidadTrabajaEn miembro = new EntidadTrabajaEn(datos); resultado = controladoraBDRecurso.insertarMiembroProyecto(miembro); } } break; case 2: { // MODIFICAR if (accion == 1)//Modificar funcionario , por parte de un miembro { Funcionario nuevo = new Funcionario(datos); resultado = controladoraBDRecurso.modificarFuncionario(nuevo, cedula); } } break; case 3: { if (accion == 2) { if (controladoraBDRecurso.eliminarTelefonoFuncionario(cedula)) { resultado = true; } else { resultado = false; } } else if(accion==1) { string perfil = buscarPerfil(cedula); if (perfil == "Administrador") { if (controladoraProyecto.buscarAsignacionProyectos(cedula) == true) { resultado = false; } else { resultado = controladoraBDRecurso.eliminarFuncionario(cedula); } } else { //Miembro if (controladoraProyecto.buscarAsignacionMiembrosProyecto(cedula) == true) { resultado = false; } else if (controladoraDiseno.buscarAsignacionMiembrosDiseno(cedula) == true) { resultado = false; } else if(controladoraEjecucion.buscarAsignacionMiembrosEjecucion(cedula)==true) { resultado = false; } else { resultado = controladoraBDRecurso.eliminarFuncionario(cedula); }//auqi se llamo a elimimnar } } } break; } return resultado; }
/*Método para insertar funcionario en la base de datos * Requiere: un objeto tipo Funcionario el cual trae todos los datos encapsulados * Modifica: Crea el string con la consulta y la envia a la clase que maneja la conexion con la base de datos para insertarlo * Retorna: true si la inserción fue exitosa, false si hubo algún error y no se insertó */ public bool insertarFuncionario(Funcionario nuevo) { try { string insercion = "INSERT INTO Funcionario (cedula, nombre, apellido1, apellido2, email, usuario, contrasena, login) VALUES ('" + nuevo.getCedula + "', '" + nuevo.getNombre + "', '" + nuevo.getApellido1 + "', '" + nuevo.getApellido2 + "', '" + nuevo.getEmail + "','" + nuevo.getUsuario + "', '" +nuevo.getContrasena+ "', '"+nuevo.getLogin+ "')"; return acceso.insertarDatos(insercion); } catch (SqlException e) { return false; } }