/*Método para insertar en la base de datos una nueva no conformidad
  * Requiere: un objeto tipo EntidadCasoEjecutado con los datos a guardar
  * Modifica: realiza la sentencia sql para insertar la nueva no conformidad
  * Retorna: true si la inserción fue exitosa, false si no se pudo insertar en la base de datos
  */
 public bool insertarNC(EntidadCasoEjecutado nuevo)
 {
     try
     {
         return acceso.insertarNC(nuevo.getIdCaso,nuevo.getIdEjecucion ,nuevo.getIdTipoNC, nuevo.getJustificacion, nuevo.getImagen, nuevo.getExtensionImagen, nuevo.getEstadoEjecucion);
     }
     catch (SqlException e)
     {
         Debug.Print("SOY EL NUMERO DE EXCEPCION DE SQL " + e.Number.ToString());
         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;

        }