/**
  * @param mixed $value  array with keys issueStartDay and issueEndDay
  */
 public function isValid($value)
 {
     $valid = true;
     if (!$this->checkDate($value['issueStartDay'])) {
         $valid = false;
         $this->addError('Sie müssen ein gültiges Anfangsdatum eingeben', 1416308406);
     }
     if (!$this->checkDate($value['issueEndDay'])) {
         $valid = false;
         $this->addError('Sie müssen ein gültiges Endedatum eingeben', 1416308476);
     }
     if ($valid) {
         //start day not in past
         if ($this->dayNotInPast($value['issueStartDay'])) {
             if (!$this->startBeforeEnd($value['issueStartDay'], $value['issueEndDay'])) {
                 $valid = false;
                 $this->addError('Das Endedatum muss größer als das Startdatum sein.', 1416309162);
             }
         } else {
             $valid = false;
             $this->addError('Das Startdatum muss mindestens einen Tag in der Zukunft sein.', 1416309162);
         }
     }
     $period = array($this->toUnixTimestamp($value['issueStartDay']), $this->toUnixTimestamp($value['issueEndDay']));
     $result = $this->reservationRepository->checkPeriodForArticle($this->article, $period);
     if ($result->count() > 0) {
         $valid = false;
         $this->addError('Es liegt bereits eine Reservierung in dem Zeitraum vor.', 1416316079);
     }
     return $valid;
 }