예제 #1
0
 /**
  * 
  * @return a list of objects.
  */
 public static function listByFullName()
 {
     $items = TipoTorneo::all();
     $key = 'id';
     $value = 'full_name';
     return TipoTorneo::getListFields($items, $key, $value);
 }
 public function consulta(Request $request)
 {
     $keyword = $request->get('nombre');
     if (trim(urldecode($keyword)) == '') {
         return response()->json([], 200);
     }
     $resultados = TipoTorneo::where('ttr_nombre', 'LIKE', '%' . $keyword . '%')->orderBy('ttr_nombre')->take(3)->get(['ttr_id', 'ttr_nombre']);
     return response()->json([$resultados]);
 }
 public function run()
 {
     Model::unguard();
     // TipoTorneo::truncate();
     if (!count(TipoTorneo::all())) {
         TipoTorneo::create(['ttr_nombre' => 'Campeonato Nacional', 'ttr_descripcion' => 'Campeonato principal dentro de un país.']);
         TipoTorneo::create(['ttr_nombre' => 'Copa Nacional', 'ttr_descripcion' => 'Copa alterna dentro de un país.']);
         TipoTorneo::create(['ttr_nombre' => 'Copa continental de clubes', 'ttr_descripcion' => 'Torneo a nivel continental de equipos profesionales']);
         TipoTorneo::create(['ttr_nombre' => 'Copa continental de selecciones', 'ttr_descripcion' => 'Torneo a nivel continental de selecciones nacionales']);
         TipoTorneo::create(['ttr_nombre' => 'Copa mundial de clubes', 'ttr_descripcion' => 'Torneo a nivel mundial de equipos profesionales']);
         TipoTorneo::create(['ttr_nombre' => 'Copa mundial de selecciones', 'ttr_descripcion' => 'Torneo a nivel mundial de selecciones nacionales']);
     }
 }
예제 #4
0
 public function armarTorneo($request)
 {
     //$response["result"] = "Error";
     $response["paso"] = 0;
     $response = DB::transaction(function () use($request, $response) {
         $response["result"] = "Ok";
         $tipo_torneo_id = $request->get("tipo_torneo");
         $tipo_torneo = TipoTorneo::with('fases.tipo_fase')->findOrFail($tipo_torneo_id);
         $torneo = new Torneo();
         $torneo->fill($request->all());
         $torneo->cant_equipos = $tipo_torneo->cant_equipos;
         $torneo->cant_fases = $tipo_torneo->fases->count();
         $torneo->cant_ascensos = $tipo_torneo->cant_ascensos;
         $torneo->cant_descensos = $tipo_torneo->cant_descensos;
         $torneo->division_id = $request->get("division");
         $torneo->temporada_id = $request->get("temporada");
         $torneo->tipo_torneo_id = $request->get("tipo_torneo");
         //$torneo->torneo_anterior_id = null;
         $torneo->save();
         $tipo_primera_fase = $tipo_torneo->fases->where('fase_numero', 1)->first();
         //$torneos_clubes = new Collection();
         $error_msg = '';
         $mensajes = $this->createTorneosClubes($tipo_primera_fase->cant_grupos, $torneo, $request);
         if ($mensajes->isEmpty()) {
             $cant_equipos_ingresados = $torneo->clubes->count();
             /*if ($tipo_torneo->cant_equipos != $cant_equipos_ingresados) {
                                     $error_msg = "Ha ingresado " . $cant_equipos_ingresados . " equipos en lugar de " . $tipo_torneo->cant_equipos . ".";
             
                                     $mensajes->push($error_msg);
                                 } else {*/
             // Por ahora se crea solo la primer fase.
             // Despues de la definicion de los partidos, se crea la proxima fase
             $fase = new TorneoFase();
             $fase->torneo_id = $torneo->id;
             $fase->cant_equipos = $tipo_torneo->cant_equipos;
             $fase->fase_numero = $tipo_primera_fase->fase_numero;
             $fase->cant_grupos = $tipo_primera_fase->cant_grupos;
             $fase->ida_y_vuelta = $tipo_primera_fase->ida_y_vuelta;
             $fase->gol_visitante = $tipo_primera_fase->gol_visitante;
             $fase->cant_interzonales = $tipo_primera_fase->cant_interzonales;
             $fase->cant_clasificados = $tipo_primera_fase->cant_clasificados;
             $fase->nombre = $tipo_primera_fase->tipo_fase->nombre;
             $fase->tipo_fase_id = $tipo_primera_fase->tipo_fase->id;
             $fase->fase_anterior_id = null;
             $fase->save();
             $partidos_grupos = [];
             for ($i = 1; $i <= $fase->cant_grupos; $i++) {
                 $equipos_grupo = $request->get("grupo_" . $i);
                 $cant_equipos = sizeof($equipos_grupo);
                 $grupo = new TorneoGrupo();
                 $grupo->orden = $i;
                 //$grupo->about         = "";
                 $grupo->cant_equipos = $cant_equipos;
                 $grupo->fase_id = $fase->id;
                 $grupo->save();
                 $equipos = [];
                 $iPartido = 0;
                 for ($j = 0; $j < $cant_equipos; $j++) {
                     $club_id = $equipos_grupo[$j];
                     //$equipo = new TorneoClub;
                     //    //$equipo->pseudonimo = chr($j+96);
                     //    $equipo->club_id    = $club_id;
                     //    $equipo->torneo_id  = $torneo->id;
                     //$equipo->save();
                     //$club_data = Club::where("id",$club_id)->first();
                     //$equipo->club = $club_data;
                     //$equipos[$j] = $equipo;
                     // Hacer esta próxima consulta, me permite independizar el ingreso de los clubes al torneo de la asignación de grupos a los mismos.
                     $torneo_club = TorneoClub::with('club')->where('club_id', $club_id)->where('torneo_id', $torneo->id)->first();
                     if (is_null($torneo_club)) {
                         die('El Club indicado no forma parte del torneo.');
                     }
                     $torneo_grupo_club = new TorneoGrupoClub();
                     $torneo_grupo_club->torneo_club_id = $torneo_club->id;
                     $torneo_grupo_club->grupo_id = $grupo->id;
                     $torneo_grupo_club->save();
                     $equipos[$j] = $torneo_club;
                 }
                 $partidos = [];
                 for ($j = 0; $j < $cant_equipos; $j++) {
                     for ($k = $j + 1; $k < $cant_equipos; $k++) {
                         $partidos[] = ["l" => $equipos[$j], "v" => $equipos[$k]];
                     }
                 }
                 $partidos_grupos[] = ["grupo" => $i, "partidos" => $partidos];
             }
             $response["response"] = ["torneo" => $torneo, "partidos_grupos" => $partidos_grupos];
             //}
         }
         //$response["description"] = $error_msg;
         $response["mensajes"] = $mensajes;
         if (!$mensajes->isEmpty()) {
             $response["result"] = "Error";
             DB::rollback();
         }
         //dd($response);
         return $response;
     });
     //return $result;
     return $response;
 }
예제 #5
0
 /**
  * Display the specified resource.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function show($id)
 {
     $temporada = Temporada::findOrFail($id);
     $categorias = Categoria::all();
     $divisiones = Division::all();
     $tipos_torneos = TipoTorneo::all();
     $this->webpage['whereAmI'] .= $this->listOneBreadcrumb(strtolower($temporada->minimal_full_name), '', 1);
     $this->webpage['tab_title'] .= ' - ' . $temporada->full_name;
     $this->data = array_merge(['webpage' => $this->webpage, 'categorias' => $categorias, 'divisiones' => $divisiones, 'temporada' => $temporada, 'torneos' => $temporada->torneos, 'tipos_torneos' => $tipos_torneos], $this->data);
     return view('admin.seasons.temporadas.show', $this->data);
 }