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());
        }
Esempio n. 3
0
        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));
        }