Ejemplo n.º 1
0
 /**
  * Cuando se este editando la lista de convocados, puede darse el caso de que jugadores
  * que previamente fueron insertados, deban ser borrados de la base de datos.
  *
  * @param PartidoClub $partido_club :: club implicado
  * @param Collection(Int) $convocados_previos :: lista de id's de 'PartidoPlantel' planilla anterior.
  * @param Collection(Int) $convocados_actuales :: lista de id's de 'PartidoPlantel' planilla actual.
  *
  */
 public function desconvocarJugadores($partido_club, $convocados_previos, $convocados_actuales)
 {
     $desconvocados = $convocados_previos->diff($convocados_actuales);
     foreach ($desconvocados as $socio_id) {
         $jugador_partido = PartidoPlantel::where('socio_id', $socio_id)->where('club_id', $partido_club->id)->first();
         if ($jugador_partido) {
             $this->eliminarTodoEventoDelJugador($jugador_partido);
             $partido = $jugador_partido->partido;
             $jugador_torneo = $jugador_partido->jugador;
             if (!is_null($jugador_torneo) && ($partido->finalizado || $partido->suspendido)) {
                 // Como el jugador no va a participar del partido, intento que cumpla una fecha.
                 $this->intentarCumplirFechaDeSuspension($jugador_torneo, $partido);
             }
             $jugador_partido->forceDelete();
         }
     }
 }