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']);
     }
 }
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function destroy($id)
 {
     \App\Competencia::destroy($id);
     return redirect('/competencia');
 }
 public function update(Request $request, $id_usuario)
 {
     if ($this->usuario_activo($id_usuario)) {
         if (!empty($request->get('id_competencia')) && !empty($request->get('id_programa'))) {
             $programa = Programa::find($request->get('id_programa'));
             if ($programa && $programa->estado == 'activo') {
                 $competencia = Competencia::find($request->get('id_competencia'));
                 if ($competencia && $competencia->estado == 'activo') {
                     $competencia_programa = DB::table('competencia_programa')->update(['id_programa' => $programa->id_programa, 'id_competencia' => $competencia->id_competencia]);
                     if ($competencia_programa) {
                         return response()->json(['error' => true, 'mensaje' => 'Datos actualizados exitosamente', 'competencia_programa' => $competencia_programa]);
                     } else {
                         return response()->json(['error' => true, 'mensaje' => 'Error al actualizar los datos']);
                     }
                 } else {
                     return response()->json(['error' => true, 'mensaje' => 'Error, la Competencia a la cual quiere asociar el programa no existe']);
                 }
             } else {
                 return response()->json(['error' => true, 'mensaje' => 'Error, el Programa al cual quiere asociar la Competencia no existe']);
             }
         }
     } else {
         return response()->json(['error' => true, 'mensaje' => 'Error al verificar la existencia del usuario que hace la peticion']);
     }
 }
 public function cambiar_estado($id_usuario, $id_competencia)
 {
     if ($this->usuario_activo($id_usuario)) {
         if (!empty($id_competencia)) {
             $competencia = Competencia::find($id_competencia);
             if ($competencia && $competencia->estado == "activo") {
                 $competencia->estado = "inactivo";
                 if ($competencia->save()) {
                     return response()->json(['error' => false, 'mensaje' => 'Competencia eliminada extiosamente']);
                 } else {
                     return response()->json(['error' => true, 'mensaje' => 'Error al eliminar la competencia']);
                 }
             } else {
                 return response()->json(['error' => true, 'mensaje' => 'Error, la Competencia que desea eliminar no existe']);
             }
         } else {
             return response()->json(['error' => true, 'mensaje' => 'Error, verifique que haya seleccionado una competencia']);
         }
     } else {
         return response()->json(['error' => true, 'mensaje' => 'Error al verificar la existencia del usuario que hace la peticion']);
     }
 }