コード例 #1
0
        public async Task <dynamic> GetWithAllInfoById(int id)
        {
            var course = await courseRepository.GetWithAllInfoById(id);

            if (course == null)
            {
                return(null);
            }


            dynamic dynamicCourse = new ExpandoObject();

            dynamicCourse.id                = course.Id;
            dynamicCourse.price             = course.Price;
            dynamicCourse.name              = course.Name;
            dynamicCourse.imageUrl          = course.ImageUrl;
            dynamicCourse.lastUpdated       = course.LastUpdated;
            dynamicCourse.statusId          = course.StatusId;
            dynamicCourse.status            = course.Status.Name;
            dynamicCourse.categoryId        = course.CategoryId;
            dynamicCourse.categoryName      = course.Category.Name;
            dynamicCourse.categoryTypeId    = course.Category.CategoryTypeId;
            dynamicCourse.categoryTypeName  = course.Category.CategoryType.Name;
            dynamicCourse.discount          = course.Discount;
            dynamicCourse.shortDiscription  = course.ShortDiscription;
            dynamicCourse.detailDiscription = course.DetailDiscription;
            dynamicCourse.lecturerId        = course.LecturerId;
            dynamicCourse.lecturer          = await userRepository.GetById(course.LecturerId);

            dynamicCourse.rating = await feedbackRepository.GetRatingByCourseId(course.Id);

            dynamicCourse.reviewerNumber = await feedbackRepository.GetReviewerNumberByCourseId(course.Id);

            dynamicCourse.registeredNumber = await studentCourseRepository.GetRegisteredNumberByCourseId(course.Id);

            dynamicCourse.viewNumber = await viewRepository.GetViewNumberByCourseId(course.Id);

            dynamicCourse.lectures = await lectureRepository.GetLectureListByCourseId(course.Id);

            return(dynamicCourse);
        }