public function update(Request $request, $id_usuario)
 {
     if ($this->usuario_activo($id_usuario)) {
         if (!empty($request->get('id_pregunta')) && !empty($request->get('id_encabezado')) && !empty($request->get('id_competencia')) && !empty($request->get('enunciado_pregunta')) && !empty($request->get('tipo_multimedia')) && !empty($request->get('tipo_explicacion')) && !empty($request->get('opciones'))) {
             try {
                 $pregunta = Pregunta::find($request->get('id_pregunta'));
                 if ($pregunta && $pregunta->estado == "activo") {
                     $encabezado = Encabezado::find($request->get('id_encabezado'));
                     if ($encabezado && $encabezado->estado == "activo") {
                         $competencia = Competencia::find($request->get('id_competencia'));
                         if ($competencia && $competencia->estado == "activo") {
                             $pregunta->id_encabezado = $request->get('id_encabezado');
                             $pregunta->id_competencia = $request->get('id_competencia');
                             $pregunta->enunciado_pregunta = $request->get('enunciado_pregunta');
                             $pregunta->tipo_multimedia = $request->get('tipo_multimedia');
                             $pregunta->tipo_explicacion = $request->get('tipo_explicacion');
                             $pregunta->explicacion = $request->get('explicacion');
                             if ($request->get('tipo_multimedia') == "imagen") {
                                 if (!empty($request->file('imagen'))) {
                                     $pregunta->imagen = $request->file('imagen');
                                 } else {
                                     return response()->json(['error' => true, 'mensaje' => 'verifique que los campos no esten vacios']);
                                 }
                             }
                             if ($pregunta->save()) {
                                 $opcionController = new OpcionController();
                                 $bandera = true;
                                 foreach ($request->get('opciones') as $t) {
                                     $bandera = $opcionController->actualizar_opcion($t['id_opcion'], $pregunta->id_pregunta, $t['enunciado_opcion'], $t['tipo_multimedia'], $t['validez']);
                                 }
                                 if ($bandera) {
                                     return response()->json(['error' => false, 'mensaje' => 'Pregunta actualizada exitosamente', 'pregunta' => $pregunta]);
                                 } else {
                                     return response()->json(['error' => true, 'mensaje' => 'Error al actualizar opciones, intente nuevamente']);
                                 }
                             } else {
                                 return response()->json(['error' => false, 'mensaje' => 'Error al actualizar los datos, intente nuevamente']);
                             }
                         } else {
                             return response()->json(['error' => true, 'mensaje' => 'La Competencia a la cual desea asociar la pregunta no existe']);
                         }
                     } else {
                         return response()->json(['error' => true, 'mensaje' => 'El Encabezado al cual desea asociar la pregunta no existe']);
                     }
                 } else {
                     return response()->json(['error' => true, 'mensaje' => 'La Pregunta que desea actualizar no existe']);
                 }
             } catch (\Exception $e) {
                 return response()->json(['error' => true, 'mensaje' => 'Error al actualizar los datos, intente nuevamente', 'excepcion' => $e]);
             }
         } else {
             return response()->json(['error' => true, 'mensaje' => 'verifique que los campos no esten vacios']);
         }
     } else {
         return response()->json(['error' => true, 'mensaje' => 'Error al verificar la existencia del usuario que hace la peticion']);
     }
 }
 public function update(Request $request, $id_usuario)
 {
     if ($this->usuario_activo($id_usuario)) {
         if (!empty($request->get('enunciado_encabezado')) && !empty($request->get('tipo_multimedia')) && !empty($request->get('id_encabezado'))) {
             try {
                 $encabezado = Encabezado::find($request->get('id_encabezado'));
                 if ($encabezado && $encabezado->estado == "activo") {
                     $encabezado->enunciado_encabezado = $request->get('enunciado_encabezado');
                     $encabezado->tipo_multimedia = $request->get('tipo_multimedia');
                     if ($request->get('tipo_multimedia') == "imagen") {
                         if (!empty($request->file('imagen'))) {
                             $encabezado->imagen = $request->file('imagen');
                         } else {
                             return response()->json(['error' => true, 'mensaje' => 'verifique que los datos no esten vacios']);
                         }
                     }
                     if ($encabezado->save()) {
                         return response()->json(['error' => false, 'mensaje' => 'Se actualizaron los datos exitosamente', 'encabezado' => $encabezado]);
                     } else {
                         return response()->json(['error' => true, 'mensaje' => 'Error, no se han actualizado los datos']);
                     }
                 } else {
                     return response()->json(['error' => true, 'mensaje' => 'El encabezado que desea actualizar no existe']);
                 }
             } catch (\Exception $e) {
                 return response()->json(['error' => true, 'mensaje' => 'Error,', 'excepcion' => $e]);
             }
         } else {
             return response()->json(['error' => true, 'mensaje' => 'verifique que los datos no esten vacios']);
         }
     } else {
         return response()->json(['error' => true, 'mensaje' => 'Error al verificar la existencia del usuario que hace la peticion']);
     }
 }