Exemple #1
0
        public ResultEntity correctOne(int?studentExerciseScoreId, int?score)
        {
            ResultEntity         resultEntity         = new ResultEntity();
            StudentExerciseScore studentExerciseScore = StudentExerciseScoreApi.getByID(studentExerciseScoreId);

            if (studentExerciseScore != null)
            {
                studentExerciseScore.exerciseScore = score.ToString();
                resultEntity.setData(StudentExerciseScoreApi.insert(studentExerciseScore));
                if (resultEntity.getData() != null)
                {
                    resultEntity.setState(1);
                    resultEntity.setMessage("批改成功 !");
                }
                else
                {
                    resultEntity.setMessage("批改失败!");
                    resultEntity.setState(0);
                }
            }
            else
            {
                resultEntity.setMessage("传入参数为空!");
                resultEntity.setState(0);
            }
            return(resultEntity);
        }
Exemple #2
0
        public ResultEntity alterAnswer(String answer, int?exerciseId, int?studentId)
        {
            ResultEntity resultEntity = new ResultEntity();

            if (exerciseId != null && studentId != null)
            {
                StudentExerciseScore studentExerciseScore = StudentExerciseScoreApi.findByExerciseIdAndStudentId(exerciseId, studentId);
                if (studentExerciseScore != null)
                {
                    studentExerciseScore.studentAnswer = answer;
                    resultEntity.setData(StudentExerciseScoreApi.insert(studentExerciseScore));
                    resultEntity.setState(1);
                    resultEntity.setMessage("学生答案修改成功!");
                }
                else
                {
                    resultEntity.setMessage("未找到对应学生答案!");
                    resultEntity.setState(0);
                }
            }
            else
            {
                resultEntity.setMessage("传入参数为空!");
                resultEntity.setState(0);
            }
            return(resultEntity);
        }
Exemple #3
0
        public ResultEntity findOneAnswer(int?exerciseId, int?studentId)
        {
            ResultEntity resultEntity = new ResultEntity();

            if (exerciseId != null && studentId != null)
            {
                StudentExerciseScore studentExerciseScore = StudentExerciseScoreApi.findByExerciseIdAndStudentId(exerciseId, studentId);
                if (studentExerciseScore != null)
                {
                    resultEntity.setData(studentExerciseScore);
                    resultEntity.setState(1);
                    resultEntity.setMessage("学生答案搜寻成功!");
                }
                else
                {
                    resultEntity.setMessage("未找到对应学生答案!");
                    resultEntity.setState(0);
                }
            }
            else
            {
                resultEntity.setMessage("传入参数为空!");
                resultEntity.setState(0);
            }
            return(resultEntity);
        }
Exemple #4
0
        public ResultEntity findOneAnswerById(int?studentExerciseScoreId)
        {
            ResultEntity resultEntity = new ResultEntity();

            if (studentExerciseScoreId != null)
            {
                //fragile
                StudentExerciseScore studentExerciseScore = StudentExerciseScoreApi.getByID(studentExerciseScoreId);
                if (studentExerciseScore != null)
                {
                    resultEntity.setData(studentExerciseScore);
                    resultEntity.setState(1);
                    resultEntity.setMessage("学生答案搜寻成功!");
                }
                else
                {
                    resultEntity.setMessage("未找到对应学生答案!");
                    resultEntity.setState(0);
                }
            }
            else
            {
                resultEntity.setMessage("传入参数为空!");
                resultEntity.setState(0);
            }
            return(resultEntity);
        }
Exemple #5
0
        public int?calculateScore(int?chapterId, int?studentId)
        {
            List <Exercise> exercises = ExerciseApi.findByChapterId(chapterId);
            int?            score     = 0;

            foreach (Exercise exercise in exercises)
            {
                score += int.Parse(StudentExerciseScoreApi.findByExerciseIdAndStudentId(exercise.exerciseId, studentId).exerciseScore);
            }
            return(score);
        }
Exemple #6
0
        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);
        }
Exemple #7
0
        public ResultEntity answerOne(String answer, int?exerciseId, int?studentId)
        {
            ResultEntity         resultEntity         = new ResultEntity();
            StudentExerciseScore studentExerciseScore = new StudentExerciseScore(studentId, exerciseId, answer, 0.ToString());

            studentExerciseScore.corrected = 0;
            Exercise exercise = ExerciseApi.findByExerciseId(exerciseId);

            if (studentExerciseScore != null)
            {
                if (exercise.exerciseType % 3 != 0)
                {
                    if (answer.Equals(exercise.exerciseAnswer))
                    {
                        studentExerciseScore.corrected     = 1;
                        studentExerciseScore.exerciseScore = exercise.exercisePoint.ToString();
                    }
                }
                resultEntity.setData(StudentExerciseScoreApi.insert(studentExerciseScore));
                if (resultEntity.getData() != null)
                {
                    resultEntity.setState(1);
                    resultEntity.setMessage("答题成功 !");
                }
                else
                {
                    resultEntity.setMessage("答题失败!");
                    resultEntity.setState(0);
                }
            }
            else
            {
                resultEntity.setMessage("传入参数为空!");
                resultEntity.setState(0);
            }
            return(resultEntity);
        }
Exemple #8
0
        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);
        }
Exemple #9
0
        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);
        }
Exemple #10
0
        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);
        }