public void SetExamineeTakeChildInfo(ExamineeTake examineeTake) { ExamBLL examBLL = new ExamBLL(); List <Exam> examList = examBLL.GetActiveExamList(); List <Exam> newExamList = new List <Exam>(); List <QuestionBank> questionBankList; string[] subjects; subjects = examList.Select(s => s.Subject.SubjectName).Distinct().ToArray(); subjects.Shuffle(); foreach (var subj in subjects) { newExamList.AddRange(examList.Where(ex => ex.Subject.SubjectName == subj)); } foreach (var exam in newExamList) { //Console.WriteLine(exam.Subject.SubjectName); examineeTake.ExamineeExam.Add(new ExamineeExam { ExamineeTakeId = examineeTake.ExamineeTakeId, ExamId = exam.ExamId, Score = 0 //Exam = exam }); questionBankList = exam.QuestionBank.ToList(); questionBankList.Shuffle(); foreach (var question in questionBankList) //foreach (var question in exam.QuestionBank) { examineeTake.ExamineeExam.Single(s => s.ExamineeTakeId == examineeTake.ExamineeTakeId && s.ExamId == exam.ExamId) .ExamineeAnswer.Add(new ExamineeAnswer { QuestionId = question.QuestionId, IsCorrect = false //QuestionBank = question }); } } }