public ActionResult SearchMarksBySurname(string Person) { string[] parts = Person.Split(' '); List <PupilWithClass> pupils = new List <PupilWithClass>(); if (parts.Length == 3) { string part1 = parts[0]; string part2 = parts[1]; string part3 = parts[2]; pupils = PupilsDB.SearchPupilByThreeParametersAndClass(part1, part2, part3, TeacherController.classID); } else if (parts.Length == 2) { string part1 = parts[0]; string part2 = parts[1]; pupils = PupilsDB.SearchPupilByTwoParametersAndClass(part1, part2, TeacherController.classID); } if (pupils.Count != 0) { ViewBag.Pupil = pupils[0]; } List <Pupil> pupilsInClass = PupilsDB.GetPupilsInClass(TeacherController.classID); ViewBag.Pupils = PupilsDB.GetPupilsInClass(TeacherController.classID); List <List <Subject> > subjects = new List <List <Subject> >(); for (int i = 0; i < pupilsInClass.Count; i++) { subjects.Add(SubjectsDB.GetPupilSubjects(pupilsInClass[i].Pupil_ID)); } // Предметы по которым у ученика есть оценки. ViewBag.Subjects = subjects; List <List <List <Mark> > > marks = new List <List <List <Mark> > >(); for (int i = 0; i < pupilsInClass.Count; i++) { marks.Add(new List <List <Mark> >(subjects[i].Count)); for (int j = 0; j < subjects[i].Count; j++) { marks[i].Add(MarksDB.GetPupilSubjectMark(pupilsInClass[i].Pupil_ID, subjects[i][j].Subject_ID)); } } ViewBag.Marks = marks; return(PartialView()); }