/** * Import Projects */ private function importProjects() { $this->output->write(sprintf('%-30s', 'Importing projects')); $previewProjects = $this->previewService->getProjects(); $created = 0; $updated = 0; foreach ($previewProjects as $previewProject) { /** * @var Project $project */ $project = $this->entityManager->getRepository('ProjectPreviewProjectBundle:Project')->find($previewProject->id); if (is_null($project)) { $project = new Project(); $project->setId($previewProject->id); $created++; } else { $updated++; } $project->setName($previewProject->name); $project->setArchived($previewProject->archived); $this->entityManager->persist($project); } $this->output->writeln(sprintf('done (total: % 4d, created: % 4d, updated: % 4d)', $created + $updated, $created, $updated)); $this->entityManager->flush(); }
/** * @return array */ private function getProjects() { $list = $this->api->getProjects(); $projects = []; foreach ($list as $project) { $projects[$project->name] = $project->id; } return $projects; }