private void QuestionEditActions(RealExamQuestion[] newQuestions, int examId)
        {
            List <RealExamQuestion>     remainedQuestions = QuestionUtils.GetRemainingQuestions(examId, newQuestions, questionAssignController);
            List <StaticQuestionAssign> oldQuestions      = questionAssignController.GetAllStaticInExam(examId);
            List <int> deletedQuestionsIds = QuestionUtils.DeleteMissingStaticQuestions(oldQuestions, newQuestions.ToList());

            questionAssignController.DeleteStaticQuestions(deletedQuestionsIds);
            List <RealExamQuestion> newQuestionAssignments = QuestionUtils.FilterQuestions(newQuestions, remainedQuestions.ToArray());

            AssignStaticQuestionsToExam(examId, newQuestionAssignments.ToArray());
        }
Esempio n. 2
0
        public void QuestionEditActions(RealExamQuestion[] newQuestions, int subAreaId)
        {
            List <RealExamQuestion> existingQuestions = QuestionUtils.GetExistingQuestions(newQuestions, questionAssignController);
            Dictionary <string, List <RealExamQuestion> > orderedEditedQuestions = GetCompromisedQuestions(existingQuestions.ToArray());

            questionAssignController.EditGroupOfQuestions(orderedEditedQuestions["unCompromised"], optionAssignController);
            List <questionAssign> oldQuestions        = questionAssignController.GetAllSubAreaQuestions(subAreaId);
            List <int>            deletedQuestionsIds = QuestionUtils.DeleteMissingQuestions(oldQuestions, newQuestions.ToList(), orderedEditedQuestions["compromised"]);

            questionAssignController.DeleteQuestions(deletedQuestionsIds);
            List <RealExamQuestion> newQuestionAssignments = QuestionUtils.FilterQuestions(newQuestions, existingQuestions.ToArray());

            newQuestionAssignments.AddRange(orderedEditedQuestions["editedCompromised"]);
            AssignNewQuestionsToSubArea(newQuestionAssignments.ToArray(), subAreaId);
        }