private void FillLists() { var discIds = _repo .GetAllExams() .Select(e => e.DisciplineId) .ToList(); //var groupList = new List<StudentGroup>(); var TeachersList = new List <Teacher>(); foreach (var discId in discIds) { var disc = _sRepo.GetDiscipline(discId); //groupList.Add(disc.StudentGroup); var tefd = _sRepo.GetFirstFiltredTeacherForDiscipline(tfd => tfd.Discipline.DisciplineId == disc.DisciplineId); if (tefd != null) { TeachersList.Add(tefd.Teacher); } } /*groupList = groupList * .GroupBy(g => g.StudentGroupId) * .Select(x => x.First()) * .OrderBy(g => g.Name) * .ToList();*/ var groupList = _sRepo .GetFiltredStudentGroups(sg => !(sg.Name.Contains("-") || sg.Name.Contains("I") || sg.Name.Contains("."))) .ToList(); groupBox.ValueMember = "StudentGroupId"; groupBox.DisplayMember = "Name"; groupBox.DataSource = groupList; TeachersList = TeachersList .GroupBy(t => t.TeacherId) .Select(x => x.First()) .OrderBy(t => t.FIO) .ToList(); TeacherList.ValueMember = "TeacherId"; TeacherList.DisplayMember = "FIO"; TeacherList.DataSource = TeachersList; }