/**
  * @param Ticket    $ticket
  * @param \DateTime $date
  *
  * @return string
  */
 public function getStateByDate(Ticket $ticket, \DateTime $date)
 {
     $status = $ticket->getStatus();
     $time = null;
     foreach ($ticket->getActivities() as $activity) {
         if ($activity->getAction() != 'UserChangeStateIssue') {
             continue;
         }
         $activityDate = $activity->getCreated()->getTimestamp();
         if ((is_null($time) || $time > $activityDate) && $date->getTimestamp() > $activityDate) {
             $status = $activity->getValue();
         }
     }
     return $status;
 }
 /**
  * @param Ticket $ticket
  */
 private function importTicketActivities(Ticket $ticket)
 {
     $activities = $this->previewService->getTicketActivity($ticket->getProject()->getId(), $ticket->getId());
     $activitiesDb = $ticket->getActivities();
     foreach ($activities as $activity) {
         if ($activity->spread_identifier != 'UserChangeStateIssue') {
             continue;
         }
         $create = true;
         foreach ($activitiesDb as $activityDb) {
             if ($activity->spread_identifier == $activityDb->getAction() && $activity->created == $activityDb->getCreated()->getTimestamp() && $activity->value == $activityDb->getValue()) {
                 $create = false;
                 break;
             }
         }
         if ($create == true) {
             $author = $this->entityManager->getRepository('ProjectPreviewUserBundle:User')->find($activity->author->id);
             $activityNew = new Activity();
             $activityNew->setAuthor($author);
             $activityNew->setCreated(new \DateTime('@' . $activity->created));
             $activityNew->setAction($activity->spread_identifier);
             $activityNew->setValue($activity->value);
             $activityNew->setTicket($ticket);
             $this->entityManager->persist($activityNew);
         }
         if ($ticket->getStatus() == 'Fermé' && $activity->spread_identifier == 'UserChangeStateIssue') {
             $ticket->setClosed(new \DateTime('@' . $activity->created));
             $this->entityManager->persist($ticket);
         }
     }
 }