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