/// <summary> /// 获取计划中的课程集合 /// </summary> /// <returns></returns> private List <CourseInfo> GetCourses() { ThrowExceptionIfValidateFailure(); var tempCourses = new List <CourseInfo>(); //学习计划中的课程集合 var planCourses = StudyPlanCourseAccessor.GetCourseList(ID); //课程ID集合 var courseIds = planCourses.Select(p => p.CourseId).ToArray(); //获取课程信息集合 var coursesList = CourseAccessor.GetList(courseIds); foreach (var course in coursesList) { var planCourse = planCourses.FirstOrDefault(p => p.CourseId == course.CourseId); tempCourses.Add(new CourseInfo { CourseId = course.CourseId, Title = course.Title, Content = course.Content, Image = course.Image, Objective = course.Objective, Remarks = course.Remarks, Sort = planCourse.Sort, Status = course.Status, SubjectId = course.SubjectId }); } return(tempCourses); }
/// <summary> /// 获取学员及计划 /// </summary> /// <returns></returns> private Dictionary <long, List <PlanCoursesModel> > GetStuentPlans() { Dictionary <long, List <PlanCoursesModel> > dic = new Dictionary <long, List <PlanCoursesModel> >(); if (state.StudentId.HasValue || state.StudentId > 0) { //当前学员持有该课程的计划 var studentPlans = StudyPlanCourseAccessor.GetStudyPlansCoursesFor(state.StudentId.Value, state.CourseId); dic.Add(state.StudentId.Value, studentPlans); } else { //所有持有该课程的计划 var plans = StudyPlanCourseAccessor.GetStudyPlansCoursesFor(state.CourseId); var planIds = plans.Select(p => p.PlanId).ToArray(); //啊其他取持有这些计划的学员 var studentPlanIdsDic = UserStudyPlanAccessor.GetStudentIdsFor(planIds); if (studentPlanIdsDic == null) { return(null); } foreach (var item in studentPlanIdsDic) { var studentId = item.Key; var itemPlanIds = item.Value; var itemPlans = plans.Where(p => itemPlanIds.Contains(p.PlanId)).ToList(); dic.Add(studentId, itemPlans); } } return(dic); }