public IEnumerable <AcademicTranscript> AddExamToTranscript(Examination examination) { var rs = new List <AcademicTranscript>(); // get all active classes var activeClasses = classRepository.GetAllActive(); foreach (Class clazz in activeClasses) { // get all active student of class var studentIds = classRepository.GetAllClassMember(clazz.Id).Select(cm => cm.StudentId); // get all active class subject of class var classSubjects = from cs in clazz.ClassSubjects where cs.Status == (int)ClassSubjectEnums.STATUS_ACTIVE select cs; foreach (int StudentId in studentIds) { foreach (ClassSubject cs in classSubjects) { var tmp = new AcademicTranscript { Id = 0, Status = (int)TranscriptEnums.STATUS_ACTIVE, Score = null, StudentId = StudentId, ExamId = examination.Id, ClassSubjectId = cs.Id, SubjectName = cs.Subject.Name, ExamName = examination.Name, PercentRate = examination.PercentRate }; rs.Add(tmp); } } } return(repository.AddTranscripts(rs)); }