/// <summary> /// Удалить посещение /// </summary> /// <param name="id"></param> /// <returns></returns> public IActionResult RemoveStudentVisit(int id, int groupId, int subjectId) { var visit = _db.StudentVisit.Find(id); _db.StudentVisit.Remove(visit); _db.SaveChanges(); var visits = _db.GroupVisit .Include(x => x.StudentVisits) .ThenInclude(x => x.Student) .Include(x => x.Subject) .Include(x => x.Group) .Include(x => x.ThemeVisits) .Where(x => ((x.Subject.Id == subjectId) && (x.StudentVisits.FirstOrDefault().Student.Group.Id == groupId))) .ToList(); var output = new GroupVisitView() { GroupId = groupId, SubjectId = subjectId, Visits = visits, Filter = new Filter() { From = visits.Min(x => x.Date), Before = visits.Max(x => x.Date) } }; return(View("VisitTableView", output)); }
/// <summary> /// Редактирование посещения /// </summary> /// <param name="model"></param> /// <returns></returns> public IActionResult EditGroupVisit(ChoosePropertyVisit model) { model.Group = _db.Group.Find(model.Group.Id); var visits = _db.GroupVisit .Include(x => x.StudentVisits) .ThenInclude(x => x.Student) .Include(x => x.Subject) .Include(x => x.Group) .Include(x => x.ThemeVisits) .ThenInclude(x => x.Theme) .Where(x => x.Group.Id == model.Group.Id).ToList(); var output = new GroupVisitView() { Semester = model.Semester, GroupId = model.Group.Id, Visits = visits, Filter = new Filter() { From = visits.Count == 0 ? DateTime.Now : visits.Min(x => x.Date), Before = visits.Count == 0 ? DateTime.Now : visits.Max(x => x.Date) } }; return(View("VisitTableView", output)); }