This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
stats:proc:creategrade [2011/09/27 20:53] Patrick Michel created |
stats:proc:creategrade [2012/08/07 17:52] Patrick Michel |
||
---|---|---|---|
Line 2: | Line 2: | ||
<code xcend> | <code xcend> | ||
- | createGrade(ident id, ident gradeId, double value, double minPoints) { | + | createGrade(ident uid, ident id, ident gradeId, string name, double value, double minPoints) { |
+ | assume exists //accounts/account[uid]/examiner[id]; | ||
assume exists //exams/exam[id]; # implicitly true in OO implementations | assume exists //exams/exam[id]; # implicitly true in OO implementations | ||
assume not exists //exams/exam[id]/grades/grade[gradeId]; | assume not exists //exams/exam[id]/grades/grade[gradeId]; | ||
Line 9: | Line 11: | ||
assume count(minPoints, //exams/exam[id]/grades/grade/minPoints) = 0; | assume count(minPoints, //exams/exam[id]/grades/grade/minPoints) = 0; | ||
| | ||
- | assume //exams/exam[id]/grades/grade[x]/value < value -> //exams/exam[id]/grades/grade[x]/minPoints > minPoints; | + | assume exists //exams/exam[id]/grades/grade[x] && //exams/exam[id]/grades/grade[x]/value < value -> //exams/exam[id]/grades/grade[x]/minPoints > minPoints; |
- | assume value < //exams/exam[id]/grades/grade[x]/value -> minPoints < //exams/exam[id]/grades/grade[x]/minPoints; | + | assume exists //exams/exam[id]/grades/grade[x] && value < //exams/exam[id]/grades/grade[x]/value -> minPoints > //exams/exam[id]/grades/grade[x]/minPoints; |
| | ||
- | insert //exams/exam[id]/grades <grade id=[gradeId] value=[value] minPoints=[minPoints] />; | + | insert //exams/exam[id]/grades <grade id=[gradeId] name=[name] value=[value] minPoints=[minPoints] />; |
} | } | ||
</code> | </code> | ||
- |