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);
            }
        }
        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());
        }