/*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 telefono de un funcionario en la base de datos * Requiere: un objeto tipo Funcionario el cual trae todos los datos encapsulados * Modifica: Crea el string EntidadTelFuncionario 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 insertarTelefono(EntidadTelFuncionario nuevo) { try { string insercion = "INSERT INTO Telefono_Funcionario (cedula_funcionario, num_telefono) VALUES ('" + nuevo.getCedulaFuncionario+ "', '" + nuevo.getNumTelefono + "')"; return acceso.insertarDatos(insercion); } catch (SqlException e) { return false; } }