public async Task <IActionResult> Course(long idCourse, int page = 1) { StepCourseViewModel scvm = await selecionarMaterialDidatico(page, idCourse); ViewData["idCourse"] = idCourse; ViewData["CourseName"] = dbContext.Course.SingleOrDefault(c => c.idCourse == idCourse).CourseName; return(View(scvm)); }
private async Task <StepCourseViewModel> selecionarMaterialDidatico(int?page, long?idCourse) { StepCourseViewModel scvm = new StepCourseViewModel(); scvm.Course = dbContext.Course.SingleOrDefault(c => c.idCourse == idCourse); IQueryable <Subarea> subareas = from s in dbContext.Subarea where s.idArea == 0 select s; foreach (var area in await dbContext.Area.Where(a => a.idCourse == idCourse).ToListAsync()) { subareas = (from s in dbContext.Subarea where s.idArea == area.idArea select s).Concat(subareas); } scvm.Subareas = await PaginatedList <Subarea> .CreateAsync(subareas.OrderBy(s => s.idArea), page ?? 1, 1); scvm.Area = dbContext.Area.SingleOrDefault(a => a.idArea == scvm.Subareas.First().idArea); scvm.StudyMaterials = dbContext.MaterialEstudo.Where(m => m.idSubarea == scvm.Subareas.First().idSubarea).OrderBy(m => m.Ordem).ToList(); return(scvm); }