Example #1
0
 /**
  * Suspensiones del jugador generadas en la temporada.
  *
  * @return Collection(Suspension)
  */
 public function getSuspensionesTemporadaAttribute()
 {
     $suspensiones_temporada = Suspension::select('suspensiones.*')->join('partidos_eventos', 'partidos_eventos.id', '=', 'suspensiones.evento_id')->join('partidos', 'partidos.id', '=', 'partidos_eventos.partido_id')->join('torneos_fechas', 'torneos_fechas.id', '=', 'partidos.fecha_id')->join('torneos', 'torneos.id', '=', 'torneos_fechas.torneo_id')->where("suspensiones.socio_id", $this->socio_id)->where("torneos.temporada_id", $this->temporada_id)->get();
     return $suspensiones_temporada;
 }
Example #2
0
 /** 
  * Te retorna la suspension activa en dicho partido
  *
  * @param int $partido_id :: partido en cuestion
  *
  * @return Suspension :: retorna una de las suspensiones activas en dicho partido
  */
 public function suspensionActivaEnPartido($partido_id)
 {
     $suspendido = null;
     $suspensiones = Suspension::where("socio_id", $this->socio_id)->get();
     $suspendido = $suspensiones->filter(function ($item) use($partido_id) {
         $cumplio_fecha_en_partido = SuspensionFechaCumplida::where("partido_id", $partido_id)->where("suspension_id", $item->id)->first();
         $vale = 1;
         if (is_null($cumplio_fecha_en_partido)) {
             $vale = 0;
         }
         return $vale;
     })->first();
     return $suspendido;
 }
 public function actualizarCategoriaSuspensiones()
 {
     $suspensiones = Suspension::get();
     foreach ($suspensiones as $suspension) {
         $suspension->categoria = $suspension->categoria;
         $suspension->save();
     }
     return "OK";
 }
Example #4
0
 /**
  * Suspensiones que se le generaron al jugador a partir de un evento del partido asociado a el.
  *
  * @return Collection(Suspension) 
  */
 public function getSuspensionesPartidoAttribute()
 {
     $suspensiones_partido = Suspension::select('suspensiones.*')->join('partidos_eventos', 'partidos_eventos.id', '=', 'suspensiones.evento_id')->where('suspensiones.socio_id', $this->socio_id)->where('partidos_eventos.partido_id', $this->partido->id)->get();
     /*
     $suspensiones_partido = new Collection();
     
     $this->eventos->each( function ($evento) use ($suspensiones_partido) {
         $evento->sanciones->each( function ($suspension) use ($suspensiones_partido) {
             $suspensiones_partido->push($suspension);
         });
     });
     */
     /*
     $suspensiones_partido = $this->eventos->filter(function ($item) {
         return (!is_null($item->suspension));
     });
     */
     return $suspensiones_partido;
 }
Example #5
0
 public function getSuspensionesAttribute()
 {
     $suspendidos = $this->lista_buena_fe->filter(function ($item) {
         return $item->suspendido;
     })->sortBy('apellido');
     $socios_ids = $suspendidos->pluck("jugador")->pluck("jugador")->pluck("id");
     if (sizeof($suspendidos)) {
         //dd($socios_ids);
     }
     $suspensiones = Suspension::whereIn("socio_id", $socios_ids)->get();
     return $suspensiones;
 }
Example #6
0
 /**
  * @return Suspension :: si existe, devuelve la suspension activa del socio 
  * controlando la fecha calendario de la misma con una dada.
  */
 public function jugadorSuspendidoALaFecha($dia)
 {
     $suspendido = Suspension::where('socio_id', $this->id)->where('estado_suspension', 2)->first();
     return $suspendido;
 }
Example #7
0
 /**
  * Dada una suspension y un partido, si en ese partido el pibe jugo, 
  * no puede haber cumplido fecha de suspension. 
  *
  * @param Suspension $suspension :: suspension cuya fecha se quiere 'descumplir'.
  * @param Partido $partido :: partido en el cual se cuplio una fecha de la suspension.
  * @param String $mensaje_error :: Mensaje de error.
  * 
  */
 protected function eliminarSuspensionFechaCumplida(Suspension $suspension, Partido $partido, &$mensaje_error)
 {
     $suspension_fecha_cumplida = $suspension->cumplidas->filter(function ($item) use($partido) {
         $filtrar = $item->partido_id == $partido->id;
         return $filtrar;
     })->first();
     if (!is_null($suspension_fecha_cumplida)) {
         DB::transaction(function () use($suspension, $suspension_fecha_cumplida) {
             // Existe el cumplimiento de la fecha
             $suspension_fecha_cumplida->forceDelete();
             if ($suspension->fechas_cumplidas > 0) {
                 $suspension->fechas_cumplidas--;
                 if ($suspension->fechas_cumplidas < $suspension->fechas_suspension) {
                     $suspension->estado_suspension = EstadoSuspension::ACTIVA;
                 }
                 $suspension->save();
             }
         });
     } else {
         $mensaje_error = 'No existe una fecha cumplida, en ese partido, para dicha suspension.';
     }
 }