Ejemplo n.º 1
0
 /**
  * @param Carbon $date The date is cloned internally so it is avoided side-effects
  * @return array
  */
 public function getCalendar(Carbon $date)
 {
     $date = clone $date;
     $calendar = $this->calendarGenerator->generate($date);
     $schedules = $this->schedulesRepository->findOfMonth($date)->groupBy(function (Type\Schedule $schedule) {
         return $schedule->getEntry()->day;
     })->all();
     /** @var \Filmoteca\Exhibition\Type\Calendar\Day $day */
     foreach ($calendar->getDays() as $day) {
         $dayNumber = $day->getNumber();
         if (array_key_exists($dayNumber, $schedules)) {
             $day->setExhibitionsNumber(count($schedules[$dayNumber]));
         }
     }
     return $calendar;
 }