private IEnumerable<MailMessage> GetStudentEmails(IEmailManager emailManager) { IEnumerable<Student> students = _studentManager.LoadAll(_dataFile); foreach (Student student in students) { Requirements studentRequirements = _studentManager.DetermineRequirements(student.Courses); Requirements emailRequirements = _studentManager.DetermineEmails(student, studentRequirements, _cutOff); if (studentRequirements.HasFlag(Requirements.Practicum)) { emailRequirements |= Requirements.Practicum; } if (emailRequirements != Requirements.None && emailRequirements != Requirements.Practicum) { yield return emailManager.GenerateEmail(student, emailRequirements); } } }