コード例 #1
0
        public void EditStudentExamQuestion(int examQuestionId, StudentQuestionTable newExamQuestion)
        {
            StudentQuestionTable model = studentExamQuestionRepository.GetById(examQuestionId);

            model = newExamQuestion;
            EditStudentExamQuestion(model);
        }
コード例 #2
0
        private static string[] GetStudentAnswers(StudentQuestionTable studentExamQuestion, OptionAssignController optionAssignController)
        {
            if (studentExamQuestion == null)
            {
                return new string[] { "" }
            }
            ;
            string[]   studentAnswerIds = studentExamQuestion.studentAnswerIds.Split(',');
            List <int> answerIds        = new List <int>();

            foreach (string studentAnswerId in studentAnswerIds)
            {
                int.TryParse(studentAnswerId, out int result);

                answerIds.Add(result);
            }
            List <string> answers = new List <string>();

            foreach (int answerId in answerIds)
            {
                OptionAssign answer = optionAssignController.GetById(answerId);
                if (answer != null)
                {
                    answers.Add(answer.optionTitle);
                }
            }
            return(answers.ToArray());
        }
コード例 #3
0
        private void DeleteStudentExamQuestion(int examQuestionId)
        {
            StudentQuestionTable model = studentExamQuestionRepository.GetById(examQuestionId);

            if (model == null)
            {
                return;
            }
            Delete(examQuestionId);
        }
コード例 #4
0
        private void EvaluateAndRegister(RealExam studentExam, RealExam modelExam)
        {
            OptionAssignController     optionAssignController = new OptionAssignController();
            Dictionary <string, float> questionScores         = StudentExamUtils.EvaulateExam(studentExam, modelExam);
            StudentExam exam          = StudentExamUtils.NewRealExamToStudentExam(studentExam, (int)questionScores["~totalScore"], studentExam.studentId);
            int         studentExamId = studentExamController.AddStudentExam(exam);
            StudentExamQuestionController studentExamQuestionController = new StudentExamQuestionController();

            foreach (RealExamQuestion question in studentExam.examElements)
            {
                StudentQuestionTable studentQuestion = StudentExamUtils.RealQuestionToStudentQuestion(question, (int)questionScores[question.title], studentExamId, optionAssignController);
                studentExamQuestionController.AddStudentExamQuestion(studentQuestion);
            }
        }
コード例 #5
0
        public int AddStudentExamQuestion(StudentQuestionTable model)
        {
            var allExamQuestions = studentExamQuestionRepository.GetAll();
            int lastId           = 0;

            if (allExamQuestions.Count() > 0)
            {
                lastId = allExamQuestions[allExamQuestions.Count() - 1].Id;
            }
            model.Id = lastId + 1;
            studentExamQuestionRepository.Insert(model);
            studentExamQuestionRepository.Save();
            return(model.Id);
        }
コード例 #6
0
        public static RealExamQuestion[] GetAllStudentExamElements(int studentExamId, ExamController examController, List <questionAssign> allQuestions, QuestionAssignController questionAssignController, OptionAssignController optionAssignController, StudentExamQuestionController studentExamQuestionController)
        {
            List <RealExamQuestion> allExamElements = new List <RealExamQuestion>();

            foreach (questionAssign question in allQuestions)
            {
                if (question == null)
                {
                    continue;
                }
                StudentQuestionTable studentExamQuestion = studentExamQuestionController.GetByModelQuestionId(question.Id, studentExamId);
                allExamElements.Add(GetExamElement(question, optionAssignController.GetAllQuestionOptions(question.Id), studentExamQuestion, optionAssignController));
            }
            return(allExamElements.ToArray());
        }
コード例 #7
0
 private void EditStudentExamQuestion(StudentQuestionTable model)
 {
     studentExamQuestionRepository.Update(model);
     studentExamQuestionRepository.Save();
 }
コード例 #8
0
 public static RealExamQuestion GetExamElement(questionAssign question, List <OptionAssign> allOptions, StudentQuestionTable studentExamQuestion, OptionAssignController optionAssignController)
 {
     return(new RealExamQuestion
     {
         type = question.type,
         title = question.title,
         multiple = question.type == "Single" ? false : true,
         options = OptionUtils.OptionsToRealOptions(allOptions),
         studentAnswer = GetStudentAnswers(studentExamQuestion, optionAssignController),
         answer = OptionUtils.OptionsToAnswers(allOptions),
         studentScore = studentExamQuestion.score,
         score = question.score,
         questionId = question.Id,
     });
 }