Les enseignants avaient besoin de définir les critères de notation (barème, coefficient) avant de pouvoir saisir des notes. Sans cette brique, le module Notes & Évaluations (Epic 6) ne pouvait pas démarrer. L'évaluation est un agrégat du bounded context Scolarité avec deux Value Objects (GradeScale 1-100, Coefficient 0.1-10). Le barème est verrouillé dès qu'une note existe pour éviter les incohérences. Un port EvaluationGradesChecker (stub pour l'instant) sera branché sur le repository de notes dans la story 6.2.
22 lines
448 B
PHP
22 lines
448 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Scolarite\Domain\Exception;
|
|
|
|
use App\Scolarite\Domain\Model\Evaluation\EvaluationId;
|
|
use DomainException;
|
|
|
|
use function sprintf;
|
|
|
|
final class EvaluationNotFoundException extends DomainException
|
|
{
|
|
public static function withId(EvaluationId $id): self
|
|
{
|
|
return new self(sprintf(
|
|
'L\'évaluation avec l\'ID "%s" n\'a pas été trouvée.',
|
|
$id,
|
|
));
|
|
}
|
|
}
|