public function surveyEvaluateAction(OrmManager $orm, $evaluation, $entry)
 {
     $entryModel = $orm->getSurveyEntryModel();
     $evaluationModel = $orm->getSurveyEvaluationModel();
     $ruleModel = $orm->getSurveyEvaluationRuleModel();
     $evaluation = $evaluationModel->getById($evaluation);
     if (!$evaluation) {
         $this->response->setNotFound();
         return;
     }
     $entry = $entryModel->getById($entry);
     if (!$entry) {
         $this->response->setNotFound();
         return;
     }
     $result = $evaluation->evaluate($entry);
     $willLog = $this->request->getQueryParameter('log');
     if ($willLog == 1 || $willLog == 'true') {
         $evaluationLogModel = $orm->getSurveyEvaluationLogModel();
         $evaluationLog = $evaluationLogModel->createEntry();
         $evaluationLog->setEvaluation($evaluation);
         $evaluationLog->setEntry($entry);
         $evaluationLog->setScore($result->getScore());
         $evaluationLogModel->save($evaluationLog);
     }
     $this->document->setLink('self', $this->request->getUrl());
     $this->document->setResourceData($ruleModel->getMeta()->getOption('json.api'), $result->getRule());
     $this->document->setMeta('average', (double) $evaluation->getAverageScore());
     $this->document->setMeta('score', $result->getScore());
 }