Updated CalendarService::makeCalendar fn signature more generic

This commit is contained in:
2025-03-06 10:46:34 +01:00
parent b2f4207f31
commit a1d0cfcb93
2 changed files with 6 additions and 7 deletions
+1 -1
View File
@@ -29,7 +29,7 @@ final class ProjectsListener
}
if ($project->getStatus() === ProjectStatus::InCampaign) {
$calendar = $this->calendarService->makeCalendar($project);
$calendar = $this->calendarService->makeCalendar($project->getDeadline());
$project->setCalendar($calendar);
}
+5 -6
View File
@@ -2,30 +2,29 @@
namespace App\Service\Project;
use App\Entity\Project\Project;
use App\Entity\Project\ProjectCalendar;
use App\Entity\Project\ProjectDeadline;
class CalendarService
{
public function makeCalendar(
Project $project,
ProjectDeadline $deadline,
\DateTimeImmutable $release = new \DateTimeImmutable(),
int $minimumTtl = 40,
int $optimumTtl = 40,
): ProjectCalendar {
$release = new \DateTimeImmutable();
$minimumTtl = \DateInterval::createFromDateString(\sprintf('%d days', $minimumTtl));
$optimumTtl = \DateInterval::createFromDateString(\sprintf('%d days', $optimumTtl));
$calendar = new ProjectCalendar();
$calendar->release = $release;
switch ($project->getDeadline()) {
switch ($deadline) {
case ProjectDeadline::Minimum:
$calendar->minimum = $release->add($minimumTtl);
$calendar->minimum = $calendar->release->add($minimumTtl);
break;
case ProjectDeadline::Optimum:
$calendar->minimum = $release->add($minimumTtl);
$calendar->minimum = $calendar->release->add($minimumTtl);
$calendar->optimum = $calendar->minimum->add($optimumTtl);
break;
}