/// <summary> /// Create an ExamItem from: list questions and code exam /// </summary> /// <param name="listQForShuffle"></param> /// <param name="codeExam"></param> /// <returns></returns> private TestFullInfo CreateExamItem(List <Question> listQForShuffle, String codeExam) { List <Candidate> listCandidate = new List <Candidate>(); for (int i = 0; i < QbQuestionsBank.Count; i++) { Candidate candi = GetRdQCandidateFromQuestion(listQForShuffle.ElementAt(i).Candidates); listCandidate.Add(candi); listQForShuffle.ElementAt(i).Candidates.Remove(candi); if (listQForShuffle.ElementAt(i).Candidates.Count == 0) { listQForShuffle.ElementAt(i).Candidates = ResetQuestion(i); } } TestFullInfo ei = new TestFullInfo(codeExam, listCandidate); if (IsDuplicated(ei)) { return(CreateExamItem(listQForShuffle, codeExam)); } else { return(new TestFullInfo(codeExam, listCandidate)); } }
/// <summary> /// checking duplicated /// </summary> /// <param name="ei"></param> /// <returns></returns> private bool IsDuplicated(TestFullInfo ei) { string res = ""; foreach (Candidate q in ei.ExamQuestionsList) { res = res + q.CandidateId; } //if (EiListForDuplicate.Contains(res)) //{ // return true; //} EiListForDuplicate.Add(res); return(false); }