/*Método para insertar en la base de datos una nueva ejecución de pruebas
  * Requiere: un objeto tipo EntidadEjecucionPrueba con los datos a guardar
  * Modifica: realiza la sentencia sql para insertar la ejecucion de pruebas
  * Retorna: true si la inserción fue exitosa, false si no se pudo insertar en la base de datos
  */
 public bool insertarEjecucionPrueba(EntidadEjecucionPrueba nuevo)
 {
     try
     {
         string insercion = "INSERT INTO Ejecucion_Prueba (desc_incidencia, fecha, cedula_responsable, id_diseno) VALUES ('" + nuevo.getDescIncidencia + "', '" + nuevo.getFecha + "', '" + nuevo.getCedulaResponsable +  "', '"+nuevo.getIdDiseño+"')";
         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, String nombre)
        {

            Boolean resultado = false;
            switch (modo)
            {
                case 1:
                    { // INSERTAR
                        if (accion == 1) //inserta ejecución de pruebas
                        {
                            EntidadEjecucionPrueba nuevo = new EntidadEjecucionPrueba(datos);
                            resultado = controladoraBDEjecucion.insertarEjecucionPrueba(nuevo);
                        }

                        if (accion == 2) //inserta no conformidad
                        {
                            EntidadCasoEjecutado nuevo = new EntidadCasoEjecutado(datos);
                            resultado = controladoraBDEjecucion.insertarNC(nuevo);
                        }
                        
                    }
                    break;
                case 2:
                    { // MODIFICAR
                        if (accion == 1) //Eliminar no conformidades
                        {
                            if (controladoraBDEjecucion.eliminarNC(nombre))
                            {
                                return true;
                            }
                            else
                            {
                                return false;
                            }
                        }
                        else if (accion == 2)//Eliminar ejecución de pruebas
                        {
                            if (controladoraBDEjecucion.eliminarEjecucion(nombre))
                            {
                                return true;
                            }
                            else
                            {
                                return false;
                            }
                        }
                        else{
                            if (accion == 3) //inserta ejecución de pruebas
                            {
                                EntidadEjecucionPrueba nuevo = new EntidadEjecucionPrueba(datos);
                                resultado = controladoraBDEjecucion.insertarEjecucionPrueba(nuevo);
                            }

                            if (accion == 4) //inserta no conformidad
                            {
                                EntidadCasoEjecutado nuevo = new EntidadCasoEjecutado(datos);
                                resultado = controladoraBDEjecucion.insertarNC(nuevo);
                            }
                        }
                      }
                    break;
                case 3:
                    { //ELIMINAR
                        if (accion == 1) //Eliminar no conformidades
                        {
                            if (controladoraBDEjecucion.eliminarNC(nombre))
                            {
                                return true;
                            }
                            else
                            {
                                return false;
                            }
                        }
                        else if(accion == 2)//Eliminar ejecución de pruebas
                        {
                            if (controladoraBDEjecucion.eliminarEjecucion(nombre))
                            {
                                return true;
                            }
                            else
                            {
                                return false;
                            }
                        }
                    }
                    break;
            }
            return resultado;

        }