public async Task <IActionResult> EditSchedule(string WeekScheduleId) { var Sched = await(from s in DBContext.WeekSchedules.Include(s => s.Speciality).ThenInclude(di => di.Disciplines) .Include(s => s.Schedule) where s.id.ToString() == WeekScheduleId select s).FirstOrDefaultAsync(); var dScheds = await(from d in DBContext.DaySchedules.Include(d => d.DisciplinesForDay) where Sched.Schedule.Contains(d) select d).ToListAsync(); Sched.Schedule = dScheds; var availablediscs = await(from di in DBContext.Disciplines.Include(t => t.Teacher) where Sched.Speciality.Disciplines.Contains(di) select di).ToListAsync(); var model = new EditScheduleViewModel() { AvailableDisciplines = availablediscs, userGrants = await checkService.getUserGrants(User) }; model.init(Sched); return(View(model)); }