Skip to content

Instantly share code, notes, and snippets.

@coffindragger
Created April 17, 2014 19:28
Show Gist options
  • Save coffindragger/11006451 to your computer and use it in GitHub Desktop.
Save coffindragger/11006451 to your computer and use it in GitHub Desktop.
val (electronicItemsGrade, manualItemsGrade) = gradesFromTake(activityTake)
def aggregateGrades(grades: Iterable[Grade]):Grade = {
val (scaledScore, possibleScore) = grades.foldLeft(0d,0d)((a,b) => {
(a._1 + b.getScaledScore, a._2 + b.getPossibleScore)
})
new Grade(scaledScore, possibleScore, 0d, false)
}
def gradesFromTake(take:ActivityTake) : (Grade, Grade) = {
val electronicGrades = take.getActivity.getChildren.filter(!_.isScoreRequired).map(take.getAggregate.aggregateFor(_).getFinalGrade)
val manualGrades = take.getActivity.getChildren.filter(_.isScoreRequired).map(take.getAggregate.aggregateFor(_).getFinalGrade)
(aggregateGrades(electronicGrades), aggregateGrades(manualGrades))
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment