/** * @TODO: Move to event * * @param CampaignEntity $entity * @param MessageEntity $message * * @return bool */ private function handleSystemMessage(CampaignEntity $entity, MessageEntity $message) { if ($message->getBody() && $message->getSubject()) { if (!$message->getId()) { $message->setCampaign($entity); $message->setQueuedAt(new \DateTime('now')); $message->setSendAt(new \DateTime('now')); $message->setOnHalt(false); $message->setSystemMessage(true); $this->systemMessageOp = static::SYSTEM_MESSAGE_CREATED; } else { $this->systemMessageOp = static::SYSTEM_MESSAGE_UPDATED; } $this->entityManager->persist($message); } elseif ($message->getId()) { $this->systemMessageOp = static::SYSTEM_MESSAGE_DELETED; $this->entityManager->remove($message); } else { $this->systemMessageOp = static::SYSTEM_MESSAGE_SKIPPED; } return true; }
/** * @param Message $message * @param int $queueCount * * @return string */ private function messageToString(Message $message, $queueCount) { $subject = $message->getSubject(); return sprintf('%d. (%s, count: %d)', $message->getId(), $subject, $queueCount); }