Пример #1
0
 public function setItemFailed(MailQueueItem $mailQueueItem)
 {
     $filter = new MailQueueItemStateFilter();
     $filter->setStateError();
     $errorMailItemState = $this->mailQueueItemStateRepository->fetchSingle($filter);
     $mailQueueItem->setState($errorMailItemState);
     $this->mailQueueRepository->save($mailQueueItem);
 }
 /**
  * @SuppressWarnings(PMD.CyclomaticComplexity)
  * @SuppressWarnings(PMD.NPathComplexity)
  * @SuppressWarnings(PMD.ExcessiveMethodLength)
  */
 private function createQueryBuilder(MailQueueItemStateFilter $filter)
 {
     $queryBuilder = $this->entityManager->createQueryBuilder()->select('mailQueueItemState')->from(MailQueueItemState::class, 'mailQueueItemState');
     $states = array();
     if ($filter->getStateQueued()) {
         $states[] = MailQueueItemState::ID_QUEUED;
     }
     if ($filter->getStateSending()) {
         $states[] = MailQueueItemState::ID_SENDING;
     }
     if ($filter->getStateSent()) {
         $states[] = MailQueueItemState::ID_SENT;
     }
     if ($filter->getStateRetry()) {
         $states[] = MailQueueItemState::ID_RETRY;
     }
     if ($filter->getStateError()) {
         $states[] = MailQueueItemState::ID_ERROR;
     }
     if ($states) {
         $queryBuilder->andWhere('mailQueueItemState.id IN (:ids)')->setParameter('ids', $states);
     }
     return $queryBuilder;
 }