/*Método para insertar en la base de datos una nueva oficina usuaria
  * Requiere: un objeto tipo entidadOficinaUsuaria con los datos a guardar
  * Modifica: realiza la sentencia sql para insertar la oficina usuaria
  * Retorna: true si la inserción fue exitosa, false si no se pudo insertar en la base de datos
  */
 public bool insertarOficina(EntidadOficinaUsuaria nuevo)
 {
     try
     {
         string insercion = "INSERT INTO Oficina_Usuaria (nombre_oficina, nombre_rep, ape1_rep, ape2_rep) VALUES ('" + nuevo.getNombreOficina + "', '" + nuevo.getNombreRep + "', '" + nuevo.getApe1Rep + "', '" + nuevo.getApe2Rep + "')";
         return acceso.insertarDatos(insercion);
     }
     catch (SqlException e)
     {
         return false;
     }
 }
        /*Método para llevar a cabo la modificación de los datos de la oficina usuaria
       * Requiere: un objeto con los datos de la oficina usuaria
       * Modifica: Modifica los datos de una oficina
       * Retorna: Devuelve un true si se ejecutó la actualización correctamente en la base de datos.
       */
        public bool modificarOfUsuaria(EntidadOficinaUsuaria nuevo, string idOficina)
        {
            try
            {
                string modif = "UPDATE Oficina_Usuaria SET  nombre_oficina ='" + nuevo.getNombreOficina + "', nombre_rep= '" + nuevo.getNombreRep + "', ape1_rep= '" + nuevo.getApe1Rep + "', ape2_rep = '" + nuevo.getApe2Rep + "' WHERE id_Oficina ='" + idOficina + "';";
                Debug.Write(modif);
                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 nombre, string perfil)
        {

            Boolean resultado = false;
            switch (modo)
            {
                case 1:
                    { // INSERTAR
                        if (accion == 1) //inserta oficina usuaria
                        {
                            EntidadOficinaUsuaria nuevo = new EntidadOficinaUsuaria(datos);
                            resultado = controladoraBDProyecto.insertarOficina(nuevo);
                        }
                        else if (accion == 2) //inserta telefonos de oficina usuaria
                        {
                            EntidadTelOficina telefonosOficina = new EntidadTelOficina(datos);
                            resultado = controladoraBDProyecto.insertarTelefono(telefonosOficina);
                        }
                        else if (accion == 3) //inserta un nuevo proyecto
                        {
                            EntidadProyecto proyecto = new EntidadProyecto(datos);
                            resultado = controladoraBDProyecto.insertarProyecto(proyecto);
                        }
                        else if (accion == 4) //insertar miembros de un equipo de pruebas
                        {
                            ControladoraRecursos controladoraRH = new ControladoraRecursos();
                            resultado = controladoraRH.ejecutarAccion(1, 5, datos, "");
                        }
                        else if (accion == 5) //Insertar requerimientos
                        {
                            EntidadRequerimiento requerimiento = new EntidadRequerimiento(datos);
                            resultado = controladoraBDProyecto.insertarRequerimiento(requerimiento);
                        }
                    }
                    break;
                case 2:
                    { // MODIFICAR

                        if (accion == 1)//PROYECTO
                        {
                            EntidadProyecto entidadP = new EntidadProyecto(datos);
                            //int idProyecto = Int32.Parse(nombre); //supongo que nombre viene el id sino habría que hacer llamado de otro método
                            return controladoraBDProyecto.modificarProyecto(entidadP, nombre);
                        }
                        else if (accion == 2)//OFICINA USUARIA
                        {
                            EntidadOficinaUsuaria entidadOU = new EntidadOficinaUsuaria(datos);

                            resultado = controladoraBDProyecto.modificarOfUsuaria(entidadOU, nombre);
                        }
                    }
                    break;
                case 3:
                    { //ELIMINAR
                        if (accion == 3)//TELEFONOOFICINAUSUARIA
                        {
                            int idOficinaUsuaria = Int32.Parse(nombre); //en nombre viene el id de la oficina usuaria, para eliminarlo
                            resultado = controladoraBDProyecto.eliminarTelefonoOficinaUsuaria(idOficinaUsuaria);
                        }
                        else if (accion == 4)//TRABAJA_EN
                        {
                            int idProyecto = Int32.Parse(nombre);
                            controladoraRH = new ControladoraRecursos();
                            resultado = controladoraRH.eliminarTrabaja_En(idProyecto);//en nombre viene elidmiembroConsultado, idProyectoConsultado, para eliminarlo
                        }
                    }
                    break;
            }
            return resultado;

        }