public void setTotalScore(int?chapterId, String type) { int type1 = 0; int type2 = 0; int type3 = 0; if (type.Equals("preview")) { type1 = 1; type3 = 2; type2 = 3; } else { type1 = 4; type3 = 5; type2 = 6; } //fragile List <Exercise> exercises = ExerciseApi.findByChapterIdAndExerciseTypeOrderByExerciseNumber(chapterId, type1); List <Exercise> temp = new List <Exercise>(); temp.AddRange(exercises); exercises = ExerciseApi.findByChapterIdAndExerciseTypeOrderByExerciseNumber(chapterId, type3); temp.AddRange(exercises); exercises = ExerciseApi.findByChapterIdAndExerciseTypeOrderByExerciseNumber(chapterId, type2); temp.AddRange(exercises); int?total = 0; foreach (Exercise exercise in temp) { total += exercise.exercisePoint; } if (type.Equals("preview")) { //fragile ChapterNode chapterNode = ChapterContentApi.getByID(chapterId); chapterNode.exerciseTotal_1 = total; ChapterContentApi.insert(chapterNode); } else { ChapterNode chapterNode = ChapterContentApi.getByID(chapterId); chapterNode.exerciseTotal_2 = total; ChapterContentApi.insert(chapterNode); } }
public List <int?> exerciseScore(int?studentId, int?chapterId, String type) { int type1 = 0; int type2 = 0; int type3 = 0; if (type.Equals("preview")) { type1 = 1; type3 = 2; type2 = 3; } else { type1 = 4; type3 = 5; type2 = 6; } List <Exercise> exercises = ExerciseApi.findByChapterIdAndExerciseTypeOrderByExerciseNumber(chapterId, type1); List <int?> scores = new List <int?>(); foreach (Exercise exercise in exercises) { if (!StudentExerciseScoreApi.existsByExerciseIdAndStudentId(exercise.exerciseId, studentId)) { return(null); } scores.Add(int.Parse(StudentExerciseScoreApi.findByExerciseIdAndStudentId(exercise.exerciseId, studentId).exerciseScore)); } exercises = ExerciseApi.findByChapterIdAndExerciseTypeOrderByExerciseNumber(chapterId, type3); foreach (Exercise exercise in exercises) { scores.Add(int.Parse(StudentExerciseScoreApi.findByExerciseIdAndStudentId(exercise.exerciseId, studentId).exerciseScore)); } exercises = ExerciseApi.findByChapterIdAndExerciseTypeOrderByExerciseNumber(chapterId, type2); foreach (Exercise exercise in exercises) { if (StudentExerciseScoreApi.findByExerciseIdAndStudentId(exercise.exerciseId, studentId).corrected != 0) { scores.Add(int.Parse(StudentExerciseScoreApi.findByExerciseIdAndStudentId(exercise.exerciseId, studentId).exerciseScore)); } } return(scores); }
public ResultEntity viewSomeAnswer(int?chapterId, int?studentId, String type) { ResultEntity resultEntity = new ResultEntity(); if (chapterId != null && studentId != null) { List <ExerciseSet> exerciseSets = new List <ExerciseSet>(); int type1 = 0; int type2 = 0; int type3 = 0; if (type.Equals("preview")) { type1 = 1; type2 = 3; type3 = 2; } else { type1 = 4; type2 = 6; type3 = 5; } List <Exercise> exercises = ExerciseApi.findByChapterIdAndExerciseTypeOrderByExerciseNumber(chapterId, type1); foreach (Exercise exercise in exercises) { if (StudentExerciseScoreApi.existsByExerciseIdAndStudentId(exercise.exerciseId, studentId) == false) { resultEntity.setMessage("学生未答题!"); resultEntity.setState(0); return(resultEntity); } exerciseSets.Add(new ExerciseSet(exercise, ExerciseChoiceApi.findByExerciseIdOrderByExerciceChoiceId(exercise.exerciseId), StudentExerciseScoreApi.findByExerciseIdAndStudentId(exercise.exerciseId, studentId).studentAnswer)); } exercises = ExerciseApi.findByChapterIdAndExerciseTypeOrderByExerciseNumber(chapterId, type3); foreach (Exercise exercise in exercises) { if (StudentExerciseScoreApi.existsByExerciseIdAndStudentId(exercise.exerciseId, studentId) == false) { resultEntity.setMessage("学生未答题!"); resultEntity.setState(0); return(resultEntity); } exerciseSets.Add(new ExerciseSet(exercise, ExerciseChoiceApi.findByExerciseIdOrderByExerciceChoiceId(exercise.exerciseId), StudentExerciseScoreApi.findByExerciseIdAndStudentId(exercise.exerciseId, studentId).studentAnswer)); } exercises = ExerciseApi.findByChapterIdAndExerciseTypeOrderByExerciseNumber(chapterId, type2); foreach (Exercise exercise in exercises) { if (StudentExerciseScoreApi.existsByExerciseIdAndStudentId(exercise.exerciseId, studentId) == false) { resultEntity.setMessage("学生未答题!"); resultEntity.setState(0); return(resultEntity); } exerciseSets.Add(new ExerciseSet(exercise, StudentExerciseScoreApi.findByExerciseIdAndStudentId(exercise.exerciseId, studentId).studentAnswer)); } List <int?> scores = exerciseScore(studentId, chapterId, type); resultEntity.setData(new ExerciseSetsDetails(exerciseSets, scores)); if (resultEntity.getData() != null) { resultEntity.setState(1); resultEntity.setMessage("查看成功!"); } else { resultEntity.setMessage("查看失败!"); resultEntity.setState(0); } } else { resultEntity.setMessage("传入参数为空!"); resultEntity.setState(0); } return(resultEntity); }
public ResultEntity viewExercise(int?chapterId, String type) { ResultEntity resultEntity = new ResultEntity(); if (chapterId != null) { List <ExerciseSet> exerciseSets = new List <ExerciseSet>(); int type1 = 0; int type2 = 0; int type3 = 0; if (type.Equals("preview")) { type1 = 1; type3 = 2; type2 = 3; } else { type1 = 4; type3 = 5; type2 = 6; } List <Exercise> exercises = ExerciseApi.findByChapterIdAndExerciseTypeOrderByExerciseNumber(chapterId, type1); foreach (Exercise exercise in exercises) { exerciseSets.Add(new ExerciseSet(exercise, ExerciseChoiceApi.findByExerciseIdOrderByExerciceChoiceId(exercise.exerciseId))); } exercises = ExerciseApi.findByChapterIdAndExerciseTypeOrderByExerciseNumber(chapterId, type3); foreach (Exercise exercise in exercises) { exerciseSets.Add(new ExerciseSet(exercise, ExerciseChoiceApi.findByExerciseIdOrderByExerciceChoiceId(exercise.exerciseId))); } exercises = ExerciseApi.findByChapterIdAndExerciseTypeOrderByExerciseNumber(chapterId, type2); foreach (Exercise exercise in exercises) { exerciseSets.Add(new ExerciseSet(exercise)); } resultEntity.setData(exerciseSets); if (resultEntity.getData() != null) { if (type.Equals("preview")) { //fragile if (ChapterContentApi.getByID(chapterId).exerciseVisible_1 != null && ChapterContentApi.getByID(chapterId).exerciseVisible_1) { DateTime now = DateTime.Now; if (ChapterContentApi.getByID(chapterId).exerciseDeadline_1 != null && now > ChapterContentApi.getByID(chapterId).exerciseDeadline_1) { resultEntity.setState(4); resultEntity.setMessage("习题已过deadline!"); } else { resultEntity.setState(1); resultEntity.setMessage("查看成功!"); } } else { resultEntity.setState(2); resultEntity.setMessage("习题当前设置为不可见!"); } } else { if (ChapterContentApi.getByID(chapterId).exerciseDeadline_2 != null && ChapterContentApi.getByID(chapterId).exerciseVisible_2) { DateTime now = DateTime.Now; if (ChapterContentApi.getByID(chapterId).exerciseDeadline_2 != null && now > ChapterContentApi.getByID(chapterId).exerciseDeadline_2) { resultEntity.setState(4); resultEntity.setMessage("习题已过deadline!"); } else { resultEntity.setState(1); resultEntity.setMessage("查看成功!"); } } else { resultEntity.setState(2); resultEntity.setMessage("习题当前设置为不可见!"); } } } else { resultEntity.setMessage("无题目!"); resultEntity.setState(3); } } else { resultEntity.setMessage("传入参数为空!"); resultEntity.setState(0); } return(resultEntity); }
public ResultEntity correctAll(List <int?> scores, int?studentId, int?chapterId, String type) { ResultEntity resultEntity = new ResultEntity(); if (studentId != null && chapterId != null && type != null) { int trueType = 0; int type1 = 0; int type2 = 0; if (type.Equals("preview")) { trueType = 3; type1 = 1; type2 = 2; } else { trueType = 6; type1 = 4; type2 = 5; } List <Exercise> exercises = ExerciseApi.findByChapterIdAndExerciseTypeOrderByExerciseNumber(chapterId, trueType); List <int?> exerciseIds = new List <int?>(); foreach (Exercise exercise in exercises) { exerciseIds.Add(exercise.exerciseId); } StudentExerciseScore studentExerciseScore; for (int i = 0; i < scores.Count; i++) { studentExerciseScore = StudentExerciseScoreApi.findByExerciseIdAndStudentId(exerciseIds[i], studentId); studentExerciseScore.exerciseScore = scores[i].ToString(); studentExerciseScore.corrected = 1; StudentExerciseScoreApi.insert(studentExerciseScore); } exercises = ExerciseApi.findByChapterIdAndExerciseTypeOrderByExerciseNumber(chapterId, type1); foreach (Exercise exercise in exercises) { exerciseIds.Add(exercise.exerciseId); } exercises = ExerciseApi.findByChapterIdAndExerciseTypeOrderByExerciseNumber(chapterId, type2); foreach (Exercise exercise in exercises) { exerciseIds.Add(exercise.exerciseId); } int score = 0; foreach (int?exerciseId in exerciseIds) { score += int.Parse(StudentExerciseScoreApi.findByExerciseIdAndStudentId(exerciseId, studentId).exerciseScore); } if (type.Equals("preview")) { StudentChapter studentChapter = StudentChapterApi.findByChapterIDAndStudentID(chapterId, studentId); studentChapter.totalScore_1 = score; studentChapter.scored_1 = 1; StudentChapterApi.insert(studentChapter); } else { StudentChapter studentChapter = StudentChapterApi.findByChapterIDAndStudentID(chapterId, studentId); studentChapter.totalScore_2 = score; studentChapter.scored_2 = 1; StudentChapterApi.insert(studentChapter); } resultEntity.setState(1); resultEntity.setMessage("批改成功 !"); } else { resultEntity.setMessage("传入参数为空!"); resultEntity.setState(0); } return(resultEntity); }
public ResultEntity answerAll(List <String> answers, int?studentId, int?chapterId, String type, String comment, int?rate) { ResultEntity resultEntity = new ResultEntity(); if (answers != null && type != null && chapterId != null && studentId != null) { List <ExerciseSet> exerciseSets = new List <ExerciseSet>(); int type1 = 0; int type2 = 0; int type3 = 0; if (type.Equals("preview")) { type1 = 1; type3 = 2; type2 = 3; } else { type1 = 4; type3 = 5; type2 = 6; } List <int?> exerciseIds = new List <int?>(); List <Exercise> exercises = ExerciseApi.findByChapterIdAndExerciseTypeOrderByExerciseNumber(chapterId, type1); foreach (Exercise exercise in exercises) { exerciseSets.Add(new ExerciseSet(exercise, ExerciseChoiceApi.findByExerciseIdOrderByExerciceChoiceId(exercise.exerciseId))); exerciseIds.Add(exercise.exerciseId); } exercises = ExerciseApi.findByChapterIdAndExerciseTypeOrderByExerciseNumber(chapterId, type3); foreach (Exercise exercise in exercises) { exerciseSets.Add(new ExerciseSet(exercise, ExerciseChoiceApi.findByExerciseIdOrderByExerciceChoiceId(exercise.exerciseId))); exerciseIds.Add(exercise.exerciseId); } exercises = ExerciseApi.findByChapterIdAndExerciseTypeOrderByExerciseNumber(chapterId, type2); foreach (Exercise exercise in exercises) { exerciseSets.Add(new ExerciseSet(exercise)); } for (int i = 0; i < answers.Count; i++) { answerOne(answers[i], exerciseSets[i].getExercise().exerciseId, studentId); } int score = 0; foreach (int?exerciseId in exerciseIds) { score += int.Parse(StudentExerciseScoreApi.findByExerciseIdAndStudentId(exerciseId, studentId).exerciseScore); } StudentChapter studentChapter; if (!StudentChapterApi.existsByChapterIDAndStudentID(chapterId, studentId)) { studentChapter = new StudentChapter(); studentChapter.chapterID = chapterId; studentChapter.studentID = studentId; StudentChapterApi.insert(studentChapter); } if (!type.Equals("preview")) { studentChapter = StudentChapterApi.findByChapterIDAndStudentID(chapterId, studentId); studentChapter.rate = rate; studentChapter.comment = comment; studentChapter.totalScore_2 = score; studentChapter.scored_2 = 0; StudentChapterApi.insert(studentChapter); //LaterImplementation //new NLPUtil().setCommentNLPRate(comment, chapterId, studentId); } else { studentChapter = StudentChapterApi.findByChapterIDAndStudentID(chapterId, studentId); studentChapter.totalScore_1 = score; studentChapter.scored_1 = 0; StudentChapterApi.insert(studentChapter); } resultEntity.setState(1); resultEntity.setMessage("答题成功 !"); } else { resultEntity.setMessage("传入参数有空值!"); resultEntity.setState(0); } return(resultEntity); }