public async Task <IActionResult> DeleteConfirmed(int id) { var group = await _context.Group.SingleOrDefaultAsync(m => m.ID == id); var user = await _context.Users.FirstOrDefaultAsync(m => m.GroupID == id); if (user != null) { return(View("NotDelete")); } var lessons = _context.Lesson.Where(m => m.GroupID == id); var students = _context.Student.Where(m => m.GroupID == id); var subjects = _context.Subject.Where(m => m.GroupID == id); foreach (var lesson in lessons) { _context.Remove(lesson); } foreach (var student in students) { _context.Remove(student); } foreach (var subject in subjects) { _context.Remove(subject); } _context.Group.Remove(group); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); }
public async Task <IActionResult> AddMissings(List <Missing> missings, Lesson lesson) { if (ModelState.IsValid) { var groupId = _context.Users.First(m => m.UserName == User.Identity.Name).GroupID; var students = await _context.Student.Where(m => m.GroupID == groupId).OrderBy(m => m.LastName).ToListAsync(); var missingsToDelete = _context.Missing.Where(m => m.LessonID == lesson.ID); foreach (var item in missingsToDelete) { _context.Remove(item); } for (int i = 0; i < missings.Count; i++) { missings[i].LessonID = lesson.ID; missings[i].StudentID = students[i].ID; _context.Add(missings[i]); } await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View()); }