Example #1
0
 /**
  * @param $tab
  * @return Ticket
  */
 protected function hydrateTicket($tab)
 {
     $ticket = new Ticket();
     $ticket->setId(isset($tab['TicketID']) ? $tab['TicketID'] : null);
     $ticket->setTitle(isset($tab['Title']) ? $tab['Title'] : null);
     $ticket->setNumber(isset($tab['TicketNumber']) ? $tab['TicketNumber'] : null);
     $ticket->setServiceId(isset($tab['ServiceID']) ? $tab['ServiceID'] : null);
     $ticket->setService(isset($tab['Service']) ? $tab['Service'] : null);
     $ticket->setTypeId(isset($tab['TypeID']) ? $tab['TypeID'] : null);
     $ticket->setType(isset($tab['Type']) ? $tab['Type'] : null);
     $ticket->setQueueId(isset($tab['QueueID']) ? $tab['QueueID'] : null);
     $ticket->setQueue(isset($tab['Queue']) ? $tab['Queue'] : null);
     $ticket->setCustomerId(isset($tab['CustomerID']) ? $tab['CustomerID'] : null);
     $ticket->setCustomer(isset($tab['Customer']) ? $tab['Customer'] : null);
     $ticket->setCustomerUserId(isset($tab['CustomerUserID']) ? $tab['CustomerUserID'] : null);
     $ticket->setCustomerUser(isset($tab['CustomerUser']) ? $tab['CustomerUser'] : null);
     $ticket->setPriorityId(isset($tab['PriorityID']) ? $tab['PriorityID'] : null);
     $ticket->setPriority(isset($tab['Priority']) ? $tab['Priority'] : null);
     $ticket->setStateId(isset($tab['StateID']) ? $tab['StateID'] : null);
     $ticket->setState(isset($tab['State']) ? $tab['State'] : null);
     $ticket->setOwnerId(isset($tab['OwnerID']) ? $tab['OwnerID'] : null);
     $ticket->setOwner(isset($tab['Owner']) ? $tab['Owner'] : null);
     $ticket->setDateChanged(isset($tab['Changed']) ? new \DateTime($tab['Changed']) : null);
     $ticket->setDateCreated(isset($tab['Created']) ? new \DateTime($tab['Created']) : null);
     //Affiliation du client
     $clients = $this->clientConnector->getClients();
     foreach ($clients as $client) {
         if ($client->getCustomerCode() == $ticket->getCustomerId()) {
             $ticket->setCustomer($client->getName());
         }
     }
     // @rp_toto : pour test
     //        $ticket->setCustomerId('CL13115');
     //        $ticket->setServiceId(1);
     //        $ticket->setTypeId(1);
     if (isset($tab['Article'])) {
         if (count($tab['Article'])) {
             foreach ($tab['Article'] as $tabArticle) {
                 $article = new Article();
                 $article->setId(isset($tabArticle['ArticleID']) ? $tabArticle['ArticleID'] : null);
                 $article->setReference(isset($tabArticle['References']) ? $tabArticle['References'] : null);
                 $article->setSubject(isset($tabArticle['Subject']) ? $tabArticle['Subject'] : null);
                 $article->setBody(isset($tabArticle['Body']) ? $tabArticle['Body'] : null);
                 $article->setOwnerId(isset($tabArticle['OwnerID']) ? $tabArticle['OwnerID'] : null);
                 $article->setOwner(isset($tabArticle['Owner']) ? $tabArticle['Owner'] : null);
                 $article->setTypeId(isset($tabArticle['ArticleTypeID']) ? $tabArticle['ArticleTypeID'] : null);
                 $article->setType(isset($tabArticle['ArticleType']) ? $tabArticle['ArticleType'] : null);
                 $article->setTime(isset($tabArticle['action_time']) ? $tabArticle['action_time'] : null);
                 $article->setFrom(isset($tabArticle['From']) ? $tabArticle['From'] : null);
                 $article->setFromName(isset($tabArticle['FromRealname']) ? $tabArticle['FromRealname'] : null);
                 $article->setTo(isset($tabArticle['To']) ? $tabArticle['To'] : null);
                 $article->setDateChanged(isset($tabArticle['Changed']) ? new \DateTime($tabArticle['Changed']) : null);
                 $article->setDateCreated(isset($tabArticle['Created']) ? new \DateTime($tabArticle['Created']) : null);
                 $ticket->addArticles($article);
             }
         }
     }
     return $ticket;
 }