<?php

declare(strict_types=1);

namespace App\Scolarite\Domain\Exception;

use App\Scolarite\Domain\Model\Schedule\ScheduleSlotId;
use DateTimeImmutable;
use RuntimeException;

final class DateExceptionInvalideException extends RuntimeException
{
    public static function pourSlotEtDate(ScheduleSlotId $slotId, DateTimeImmutable $date): self
    {
        return new self(
            "La date {$date->format('Y-m-d')} n'est pas valide pour le créneau $slotId "
            . '(mauvais jour de la semaine ou hors bornes de récurrence).',
        );
    }
}
