/**
  * findDemanded
  *
  * @param $demands
  */
 public function findDemanded($demands, $limit)
 {
     $query = $this->createQuery();
     if ($limit) {
         $query->setLimit((int) $limit);
     }
     $constraints = DemandsUtility::getConstraintsForDemand($query, $demands);
     if ($constraints !== null) {
         $query->matching($constraints);
     }
     return $query->execute();
 }
 public function findUpcoming($demands = array(), $limit = 0, $returnRawQueryResult = false)
 {
     $query = $this->createQuery();
     /* Our EventDates are not localizable. Only the Event's are. So lets ignore the sys language flag.
      * This is actually needed so that extbase does not create sql queries that try to find direct
      * relations betweens translated Events and EventDates (as the relation between EventDate and Event
      * can only be established in the default language) */
     $query->getQuerySettings()->setRespectSysLanguage(false);
     $constraints = array($query->greaterThan('start', new \DateTime('NOW')), $query->equals('frequency', 0));
     $additional = DemandsUtility::getConstraintsForDemand($query, $demands);
     if ($additional !== null) {
         $constraints[] = $additional;
     }
     $query->matching($query->logicalAnd($constraints));
     if ($limit) {
         $query->setLimit((int) $limit);
     }
     return $query->execute($returnRawQueryResult);
 }