예제 #1
0
        /// <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));
        }
예제 #2
0
        /// <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));
        }