コード例 #1
0
 /**
  *  Calculate the grad of a copy
  *
  * @param Dropzone $dropzone
  * @param Correction $correction
  * @return float|int
  */
 public function calculateCorrectionTotalGrade(Dropzone $dropzone, Correction $correction)
 {
     $nbCriteria = count($dropzone->getPeerReviewCriteria());
     $maxGrade = $dropzone->getTotalCriteriaColumn() - 1;
     $sumGrades = 0;
     foreach ($correction->getGrades() as $grade) {
         $grade->getValue() > $maxGrade ? $sumGrades += $maxGrade : ($sumGrades += $grade->getValue());
     }
     $totalGrade = 0;
     if ($nbCriteria != 0) {
         $totalGrade = $sumGrades / $nbCriteria;
         $totalGrade = $totalGrade * 20 / $maxGrade;
     }
     return $totalGrade;
 }