<?php

declare(strict_types=1);

namespace App\Scolarite\Domain\Exception;

use App\Administration\Domain\Model\User\UserId;
use App\Scolarite\Domain\Model\Homework\HomeworkId;
use App\Scolarite\Domain\Model\HomeworkSubmission\HomeworkSubmissionId;
use DomainException;

use function sprintf;

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

    public static function pourDevoirEtEleve(HomeworkId $homeworkId, UserId $studentId): self
    {
        return new self(sprintf(
            'Aucun rendu trouvé pour le devoir "%s" et l\'élève "%s".',
            $homeworkId,
            $studentId,
        ));
    }
}
