Exemplo n.º 1
0
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     //        $output->writeln("<error>Command not implemented yet</error>");
     //        die();
     $isVerbose = $output->getVerbosity() >= OutputInterface::VERBOSITY_VERBOSE;
     $sourceProject = $input->getOption('source-project-code');
     $targetProject = $input->getOption('target-project-code');
     $fromData = new DataImageResource($this->sourceClient);
     $toData = new DataImageResource($this->client);
     $projectResource = new ProjectResource($this->client);
     $userResource = new UserResource($this->client);
     $project = $projectResource->getOneBy(['code' => $targetProject]);
     if (!$project) {
         $output->writeln("<error>Target project {$targetProject} not found</error>");
         die;
     }
     $page = 0;
     $perPage = 10;
     $maxPages = 1;
     while ($page < $maxPages) {
         $dataImages = $fromData->getList(++$page, $perPage, [], [], [], ['project_code' => $sourceProject]);
         $maxPages = $dataImages['pages'];
         // if no items, return
         if (!count($dataImages['items']) || !$dataImages['total']) {
             break;
         }
         foreach ($dataImages['items'] as $key => $dataImage) {
             if ($isVerbose) {
                 $no = ($page - 1) * $perPage + $key + 1;
                 $output->writeln("{$no} - Reading member #{$dataImage['id']}");
             }
             $this->processDataFields($dataImage, $project);
             try {
                 $res = $toData->save($dataImage);
                 if ($isVerbose) {
                     $output->writeln("New member  #{$res['id']} saved");
                 }
             } catch (\Exception $e) {
                 $output->writeln("<error>Problem saving data: {$e->getMessage()} </error>");
                 var_dump($dataImage);
             }
         }
     }
 }