/**
  * Delete Ticket by key
  * @param string $key
  * @return void
  *
  * @throws TicketNotFoundException
  * @throws ForbiddenException
  */
 public function deleteTicketByKey($key)
 {
     $ticket = $this->loadTicketByTicketKey(TicketKey::from($key));
     $this->isGranted('DELETE', $ticket);
     $this->processDeleteTicket($ticket);
 }
 /**
  * Find Ticket by given TicketKey
  *
  * @param TicketKey $key
  *
  * @return \Diamante\DeskBundle\Entity\Ticket
  */
 public function getByTicketKey(TicketKey $key)
 {
     $queryBuilder = $this->_em->createQueryBuilder()->select('t')->from('DiamanteDeskBundle:Ticket', 't')->from('DiamanteDeskBundle:Branch', 'b')->where('b.id = t.branch')->andWhere('b.key = :branchKey')->andWhere('t.sequenceNumber = :ticketSequenceNumber')->setParameters(array('branchKey' => $key->getBranchKey(), 'ticketSequenceNumber' => $key->getTicketSequenceNumber()));
     $ticket = $queryBuilder->getQuery()->getOneOrNullResult();
     return $ticket;
 }
 public function testThatCreates()
 {
     $key = new TicketKey('DD', 12);
     $this->assertEquals('DD', $key->getBranchKey());
     $this->assertEquals(12, $key->getTicketSequenceNumber());
 }