<?php

declare(strict_types=1);

namespace App\Scolarite\Domain\Exception;

use App\Scolarite\Domain\Model\Grade\GradeId;
use DomainException;

use function sprintf;

final class GradeNotFoundException extends DomainException
{
    public static function withId(GradeId $id): self
    {
        return new self(sprintf(
            'La note avec l\'ID "%s" n\'a pas été trouvée.',
            $id,
        ));
    }

    public static function forStudent(string $studentId, string $evaluationId): self
    {
        return new self(sprintf(
            'Aucune note trouvée pour l\'élève "%s" dans l\'évaluation "%s".',
            $studentId,
            $evaluationId,
        ));
    }
}
