Index: lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java =================================================================== diff -u -r708bd4d049ae0a59d70c964ef2f864d2b7a352e6 -r3a8db4d285f139b561793d47320c27274213d58e --- lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java (.../McServicePOJO.java) (revision 708bd4d049ae0a59d70c964ef2f864d2b7a352e6) +++ lams_tool_lamc/src/java/org/lamsfoundation/lams/tool/mc/service/McServicePOJO.java (.../McServicePOJO.java) (revision 3a8db4d285f139b561793d47320c27274213d58e) @@ -761,14 +761,21 @@ 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 + + // record mark change with audit service auditService.logMarkChange(McAppConstants.MY_SIGNATURE, userAttempt.getMcQueUsr().getQueUsrId(), userAttempt.getMcQueUsr().getUsername(), "" + oldMark, "" + totalMark);