/**
  * Erstellt einen Avatarmutebann für den Avatar
  * @param \DragonJsonServerAvatar\Entity\Avatar $avatar
  * @param \DateTime $end
  * @return \DragonJsonServerAvatarmuteban\Entity\Avatarmuteban
  */
 public function createAvatarmuteban(\DragonJsonServerAvatar\Entity\Avatar $avatar, \DateTime $end)
 {
     $avatar_id = $avatar->getAvatarId();
     $avatarmuteban = $this->getAvatarmutebanByAvatarId($avatar_id, false);
     if (null === $avatarmuteban) {
         $avatarmuteban = (new \DragonJsonServerAvatarmuteban\Entity\Avatarmuteban())->setAvatarId($avatar_id)->setEnd($end);
     } else {
         $avatarmuteban->setEnd($end);
     }
     $this->getServiceManager()->get('\\DragonJsonServerDoctrine\\Service\\Doctrine')->transactional(function ($entityManager) use($avatarmuteban) {
         $entityManager->persist($avatarmuteban);
         $entityManager->flush();
         $this->getEventManager()->trigger((new \DragonJsonServerAvatarmuteban\Event\CreateAvatarmuteban())->setTarget($this)->setAvatarmuteban($avatarmuteban));
     });
     return $avatarmuteban;
 }
 /**
  * Gibt die Avatarnachrichten für den Avatar und die Clientmessages zurück
  * @param \DragonJsonServerAvatar\Entity\Avatar $avatar
  * @param \DragonJsonServer\Event\Clientmessages $eventClientmessages
  * @return array
  */
 public function getAvatarmessagesByEventClientmessages(\DragonJsonServerAvatar\Entity\Avatar $avatar, \DragonJsonServer\Event\Clientmessages $eventClientmessages)
 {
     $entityManager = $this->getEntityManager();
     return $entityManager->createQuery("\n\t\t\t\tSELECT avatarmessage FROM \\DragonJsonServerAvatarmessage\\Entity\\Avatarmessage avatarmessage\n\t\t\t\tWHERE\n\t\t\t\t\tavatarmessage.to_avatar = :to_avatar_id\n\t\t\t\t\tAND\n\t\t\t\t\tavatarmessage.to_state = 'new'\n\t\t\t\t\tAND\n\t\t\t\t\tavatarmessage.created >= :from AND avatarmessage.created < :to \n\t\t\t")->execute(['to_avatar_id' => $avatar->getAvatarId(), 'from' => $eventClientmessages->getFrom(), 'to' => $eventClientmessages->getTo()]);
 }