User Tools

Site Tools


stats:proc:signupgroup

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
stats:proc:signupgroup [2011/09/29 19:37]
Patrick Michel
stats:proc:signupgroup [2013/07/10 12:34] (current)
Line 3: Line 3:
 <code xcend> <code xcend>
 signUpGroup(ident uid, ident id, ident studentId, ident groupId) { signUpGroup(ident uid, ident id, ident studentId, ident groupId) {
-  assume exists //accounts/​account[uid]/​assistant[id] || //accounts/​account[uid]/​student/id studentId;+  assume exists /exercise[id] && /​exercise[id]/open &&  
 +         ​exists ​/​account[uid]/​student && /account[uid]/student/id = studentId 
 +      ​|| exists ​/​account[uid]/​assistant[id];​ 
 + 
 +  assume exists ​/exercise[id]/student[studentId]; # implies the existence of the exercise 
 +  assume exists /​exercise[id]/​group[groupId]# also implies it, but once is really enough
   ​   ​
-  assume exists ​//exercises/​exercise[id]/students/​student[studentId]; ​# implies the existence of the exercise +  assume ​not exists /​exercise[id]/​student[studentId]/group
-  assume ​exists ​//exercises/​exercise[id]/groups/​group[groupId]; ​# also implies it, but once is really enough+  assume /exercise[id]/group[groupId]/​curSize < /​exercise[id]/​group[groupId]/maxSize;
   ​   ​
-  ​assume not exists //​exercises/​exercise[id]/​students/​student[studentId]/​group;​ +  insert /​exercise[id]/​student[studentId]/​group groupId; 
-  assume //​exercises/​exercise[id]/​groups/​group[groupId]/​curSize < //​exercises/​exercise[id]/​groups/​group[groupId]/​maxSize;​ +  update /​exercise[id]/​group[groupId]/​curSize (/​exercise[id]/​group[groupId]/​curSize + 1);
-   +
-  ​insert ​//exercises/​exercise[id]/students/​student[studentId]/​group groupId; +
-  update ​//exercises/​exercise[id]/groups/​group[groupId]/​curSize (//exercises/​exercise[id]/groups/​group[groupId]/​curSize + 1);+
 } }
 </​code>​ </​code>​
stats/proc/signupgroup.1317317827.txt.gz · Last modified: 2011/09/29 19:37 by Patrick Michel