/*Método para modificar un requerimiento asociado a un diseño
        * Requiere: las llaves de la tabla requerimientos diseño y la instancia de la entidad 
        * Modifica: modifica la tabla de Diseno_Pruebas
        * Retorna:booleano si logra eliminar el diseño
        */
        public bool modificarRequerimientosDiseño(EntidadRequerimientoDiseño entRequerimientosDiseño, Object[] datos)
        {
            try
            {
                string modif = "UPDATE Requerimiento_Diseno SET id_diseno ='" + entRequerimientosDiseño.getIdDiseno + "', id_req = '" + entRequerimientosDiseño.getIdReq + "', id_proyecto = '" + +entRequerimientosDiseño.getIdProyecto + "' WHERE where id_diseno ='" + datos[0] + "and id_req ='" + datos[1] + " and id_proyecto='" + datos[2] + "';";
                return acceso.insertarDatos(modif);

            }
            catch (SqlException e)
            {
                return false;
            }
        }
        /*Método para insertar un requerimiento de diseño
        * Requiere: la entidad de requerimientoDiseño
        * Modifica: modifica la tabla Requerimiento_Diseno
        * Retorna:booleano si logra insertar el requerimiento asociado al diseño
        */
        public bool insertarRequerimientoDiseño(EntidadRequerimientoDiseño nuevo)
        {
            try
            {
                string insercion = "INSERT INTO Requerimiento_Diseno (id_diseno, id_req, id_proyecto) VALUES ('" + nuevo.getIdDiseno + "', '" + nuevo.getIdReq + "', '" + nuevo.getIdProyecto + "')";
                return acceso.insertarDatos(insercion);

            }
            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, int identificador, string perfil)
        {

            Boolean resultado = false;
            switch (modo)
            {
                case 1:
                    { // INSERTAR
                        if (accion == 1) //insertar diseño de prueba
                        {
                            EntidadDiseno nuevo = new EntidadDiseno(datos);
                            resultado = controladoraBDDiseno.insertarDiseno(nuevo);
                            Debug.WriteLine("Este es el resultado de insertar diseno: " + resultado);
                        }
                        else if (accion == 2) //insertar en EntidadRequerimientoDiseño
                        {
                            EntidadRequerimientoDiseño nuevo = new EntidadRequerimientoDiseño(datos);
                            resultado = controladoraBDDiseno.insertarRequerimientoDiseño(nuevo);
                        }
                    }
                    break;
                case 2:
                    { // MODIFICAR

                        if (accion == 1)
                        {
                            EntidadDiseno entDiseño = new EntidadDiseno(datos);                            
                            return controladoraBDDiseno.modificarDiseño(entDiseño, identificador);

                        }
                        else if (accion == 2)
                        {
                            EntidadRequerimientoDiseño entReqD = new EntidadRequerimientoDiseño(datos);
                            return controladoraBDDiseno.modificarRequerimientosDiseño(entReqD, datos);
                        }
                    }
                    break;
                case 3:
                    { //ELIMINAR
                        if (accion == 1)//Eliminar diseño
                        {
                            resultado = controladoraBDDiseno.eliminarDiseño(identificador);
                        }
                        else if (accion == 2)//Eliminar requerimiento diseño
                        {
                            resultado = controladoraBDDiseno.eliminarRequerimientoDiseño(identificador);
                        }
                    }
                    break;
            }
            return resultado;
        }