projectRepository = $projectRepository; $this->story = $story; $this->elementTypeRepository = $elementTypeRepository; } public function create(ProjectCreateView $createView): int { $project = new Project(); $project->setName($createView->title); $project->setDraft(true); $project->setIdUser($createView->idUser); $project->setProductsImport(true); $projectEntity = $this->projectRepository->create($project); if(!empty($projectEntity->getId())) { $elementType = new ElementType(); $elementType->setProject($project); $this->elementTypeRepository->save($elementType); } $this->story->execute('create', ['title' => $createView->title, 'id' => $projectEntity->getId()], $projectEntity->getId(), get_class($projectEntity), 0); return $projectEntity->getId(); } }