Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java =================================================================== RCS file: /usr/local/cvsroot/lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java,v diff -u -r1.137 -r1.138 --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java 5 Jan 2016 16:00:41 -0000 1.137 +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java 5 Jan 2016 16:16:35 -0000 1.138 @@ -777,13 +777,20 @@ Integer oldMark = userAttempt.getMark(); int oldTotalMark = mcUsrAttemptDAO.getUserTotalMark(userUid); + int totalMark = (oldMark == null) ? oldTotalMark + newMark : (oldTotalMark - oldMark) + newMark; + + //update mark for one particular question userAttempt.setMark(newMark); mcUsrAttemptDAO.saveMcUsrAttempt(userAttempt); + + //update user's total mark + McQueUsr user = userAttempt.getMcQueUsr(); + user.setLastAttemptTotalMark(totalMark); + updateMcQueUsr(user); // propagade changes to Gradebook - int totalMark = (oldMark == null) ? oldTotalMark + newMark : (oldTotalMark - oldMark) + newMark; gradebookService.updateActivityMark(new Double(totalMark), null, userId, toolSessionId, false); - + // record mark change with audit service auditService.logMarkChange(McAppConstants.MY_SIGNATURE, userAttempt.getMcQueUsr().getQueUsrId(), userAttempt.getMcQueUsr().getUsername(), "" + oldMark, "" + totalMark);