<?php

declare(strict_types=1);

namespace App\Administration\Domain\Exception;

use App\Administration\Domain\Model\SchoolClass\ClassId;
use App\Administration\Domain\Model\Subject\SubjectId;
use App\Administration\Domain\Model\User\UserId;
use DomainException;

use function sprintf;

final class AffectationDejaExistanteException extends DomainException
{
    public static function pourTriple(UserId $teacherId, ClassId $classId, SubjectId $subjectId): self
    {
        return new self(sprintf(
            'L\'enseignant "%s" est déjà affecté à la classe "%s" pour la matière "%s".',
            $teacherId,
            $classId,
            $subjectId,
        ));
    }
}
