public IActionResult EditSpecialyMark(SpecialyMarkModel model) { var semesterId = model.Semester.Id; var semester = _db.Semesters .Include(x => x.SemesterStudents).ThenInclude(x => x.Semester) .Include(x => x.SemesterStudents).ThenInclude(x => x.Student) .Include(x => x.Group).ThenInclude(x => x.Students).Where(x => x.Id == semesterId).FirstOrDefault(); var students = semester.Group.Students.OrderBy(x => x.FIO).ToList(); var counter = 0; foreach (var student in students) { var semesterStudent = semester.SemesterStudents.Where(x => x.Student.Id == student.Id).FirstOrDefault(); if (semesterStudent is null) { semester.SemesterStudents.Add(new EF.Custom.Entities.SemesterStudent() { Semester = semester, Student = student, SpecialyMark = model.SpecialyMark[counter] }); } else { semesterStudent.SpecialyMark = model.SpecialyMark[counter]; } counter++; } _db.SaveChanges(); return(RedirectToAction("Index", "Settings")); }
public IActionResult ChooseGroupForSpecialyMark(SpecialyMarkModel model) { var semesterId = model.Semester.Id; var semester = _db.Semesters.Include(x => x.SemesterStudents).Include(x => x.Group).ThenInclude(x => x.Students).Where(x => x.Id == semesterId).FirstOrDefault(); var students = semester.Group.Students.OrderBy(x => x.FIO).ToList(); model.Students = students; if (semester.SemesterStudents.ToList().Count() == 0) { model.SpecialyMark = new List <string>(); foreach (var student in students) { model.SpecialyMark.Add(""); } } else { model.SpecialyMark = semester.SemesterStudents.Select(x => x.SpecialyMark).ToList(); } return(View("SpecialyMarkView", model)); }