/**
  * @param Project $project
  */
 private function updateProjectTickets(Project $project)
 {
     $this->output->write(sprintf('%-30s', '  - Updating Tickets'));
     $previewTickets = $this->previewService->getTickets($project->getId());
     $zapped = 0;
     $created = 0;
     $updated = 0;
     $missed = 0;
     foreach ($previewTickets as $previewTicket) {
         $ticket = $this->entityManager->getRepository('ProjectPreviewPreviewBundle:Ticket')->find($previewTicket->id);
         if (!is_null($ticket) && $ticket->getUpdated()->getTimestamp() >= $previewTicket->updated && !$this->input->getOption('full-resync')) {
             $zapped++;
             continue;
         }
         if (is_null($ticket)) {
             $ticket = new Ticket();
             $ticket->setId($previewTicket->id);
             $created++;
         } else {
             $updated++;
         }
         $ticket->setProject($project);
         if ($this->updateTicketFromPreview($ticket, $previewTicket)) {
             $this->entityManager->persist($ticket);
             $this->importTicketActivities($ticket);
         } else {
             $missed++;
         }
     }
     $this->entityManager->flush();
     $this->output->writeln(sprintf('done (total: % 4d, created: % 4d, updated: % 4d, zapped: % 4d, missed: % 4d)', $created + $updated + $zapped, $created, $updated, $zapped, $missed));
 }