Updated CalendarService::makeCalendar fn signature more generic
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user