public async Task <CourseInstanceViewModel> CourseDetails(int id) { // TODO: Add lecturer var courseInstance = await this.DbContext.CourseInstances .Include(c => c.Lectures) .Include(c => c.Students) .FirstOrDefaultAsync(c => c.Id == id); var lectures = this.Mapper.Map <ICollection <LectureViewModel> >(courseInstance.Lectures); var students = this.Mapper.Map <ICollection <StudentsViewModel> >(courseInstance.Students); //var model = this.Mapper.Map<CourseDetailsViewModel>(course); var model = new CourseInstanceViewModel() { Id = id, Name = courseInstance.Name, Slug = courseInstance.Slug, Description = courseInstance.Description, StartDate = courseInstance.StartDate, EndDate = courseInstance.EndDate, Lectures = lectures, Students = students }; return(model); }
public async Task <IActionResult> OnGet(int id) { //// var courseInstanceModel = await this.studentService.CourseDetails(id); //- tuk ne stava taka //var courseInstance = await this.DbContext.CourseInstances // .Include(c => c.Lectures) // .Include(c => c.Students) // .FirstOrDefaultAsync(c => c.Id == id); ////var model = this.Mapper.Map<CourseDetailsViewModel>(course); //- tuk ne stava taka //var lectures = this.Mapper.Map<ICollection<LectureViewModel>>(courseInstance.Lectures); //var students = this.Mapper.Map<ICollection<StudentsViewModel>>(courseInstance.Students); ////ICollection<StudentsViewModel> students = null; ////foreach (var student in courseInstance.Students) ////{ //// students.Add(new StudentsViewModel //// { //// Id = student.StudentId, //// FullName = DbContext.Users.Find(student.StudentId).FullName //// }); ////} //this.Id = id; //this.Name = courseInstance.Name; //this.Slug = courseInstance.Slug; //this.Description = courseInstance.Description; //this.StartDate = courseInstance.StartDate; //this.EndDate = courseInstance.EndDate; //this.Students = students; //this.Lectures = lectures; CourseInstanceViewModel courseInstanceModel = await this.courseInstancesService.CourseDetails(id); this.Id = courseInstanceModel.Id; this.Name = courseInstanceModel.Name; this.Slug = courseInstanceModel.Slug; this.Description = courseInstanceModel.Description; this.StartDate = courseInstanceModel.StartDate; this.EndDate = courseInstanceModel.EndDate; this.Students = courseInstanceModel.Students; this.Lectures = courseInstanceModel.Lectures; return(Page()); }
public CourseInstanceViewModel CourseInstanceDetails(int id) { var courseName = this.DbContext.Courses.Find(id).Name; var instancesForThisCourse = this.DbContext.Courses .Include(ci => ci.Instances) .FirstOrDefault(ci => ci.Name == courseName); var coursesInstances = instancesForThisCourse.Instances .OrderByDescending(c => c.StartDate).ToList(); CourseInstance lastInstance = null; if (coursesInstances.Count == 0) { var emtpyModel = new CourseInstanceViewModel() { Name = courseName }; return(emtpyModel); } lastInstance = coursesInstances.First(); var model = new CourseInstanceViewModel() { Id = id, Name = lastInstance.Name, Slug = lastInstance.Slug, Description = lastInstance.Description, StartDate = lastInstance.StartDate, EndDate = lastInstance.EndDate, // Lecturer = lastInstance.Lecturer.FullName }; return(model); }
public async Task <IActionResult> Details(int id) { CourseInstanceViewModel courseInstanceModel = await this.courseInstancesService.CourseDetails(id); return(View(courseInstanceModel)); }