/// <summary> /// 获取课程列表 /// <para>作 者:zhiwei.Tang</para> /// <para>创建时间:2018-09-14</para> /// </summary> /// <param name="courseType">null=所有 1=必修课 2=选修课</param> /// <returns>课程列表数据</returns> public List <CourseListResponse> GetList(int?courseType) { var courses = _courseRepository.Value.GetByCourseType(_companyId, courseType, null, null).Result; if (!courses.Any()) { return(new List <CourseListResponse>()); } var courseIds = courses.Select(m => m.CourseId); List <CourseListResponse> res = AutoMapper.Mapper.Map <List <CourseListResponse> >(courses); var courseLv = new ViewCourseLevelMiddleRepository().Get(courseIds).Result; res.ForEach(x => { x.CourseLevels = courseLv .Where(m => m.CourseId == x.CourseId) .OrderBy(m => m.LevelCode) .Select(m => new CourseListLevelResponse { CourseLevelId = m.CourseLevelId, CourseLevelName = m.LevelCnName, SAge = m.BeginAge, EAge = m.EndAge, Duration = m.Duration }) .ToList(); }); return(res.OrderBy(m => m.IsDisabled).ThenBy(m => m.CourseCode, new NaturalStringComparer()).ToList()); }
/// <summary> /// 获取班级课程 /// <para>作 者:zhiwei.Tang</para> /// <para>创建时间:2018-09-20</para> /// </summary> /// <param name="classRoomId">教室Id</param> /// <returns>校区课程列表</returns> public List <SchoolCourseDto> GetRoomCourses(long classRoomId) { List <SchoolCourseDto> res = new List <SchoolCourseDto>(); //班级课程 var roomCourse = _viewRoomCourseRepository.Value .Get(_schoolId) .Where(x => x.ClassRoomId == classRoomId) .ToList(); if (!roomCourse.Any()) { return(res); } var courseIds = roomCourse.Select(x => x.CourseId).Distinct().ToList(); //课程基本信息 var courses = new TblDatCourseRepository().GetCoursesAsync(courseIds).Result; //课程等级 var courseLv = new ViewCourseLevelMiddleRepository().Get(courseIds).Result; foreach (var room in roomCourse) { var course = courses.FirstOrDefault(x => x.CourseId == room.CourseId); var sCourse = new SchoolCourseDto { ClassCnName = course.ClassCnName, CourseId = course.CourseId, ClassEnName = course.ClassEnName, CourseCnName = course.CourseCnName, CourseCode = course.CourseCode, CourseEnName = course.CourseEnName, CourseType = course.CourseType, IsDisabled = course.IsDisabled, ShortName = course.ShortName, CourseLevel = courseLv.Where(c => course.CourseId == c.CourseId).Select(c => new CourseLevelDto { CourseLevelId = c.CourseLevelId, IsDisabled = c.IsDisabled, LevelCnName = c.LevelCnName, LevelCode = c.LevelCode, LevelEnName = c.LevelEnName }).ToList() }; res.Add(sCourse); } return(res); }