/// <summary> /// 获取常规课多个时间段上课信息 /// <para>作 者:zhiwei.Tang</para> /// <para>创建时间:2019-03-07</para> /// </summary> /// <param name="regularAttends">常规课次信息</param> /// <param name="res">out 常规课多个上课信息</param> private static void GetMultiAttendRegular( List <ViewStudentScanCodeAttend> regularAttends, List <ScanCodeClassInfo> res) { var classIdList = regularAttends.Select(x => x.ClassId).Distinct().ToList(); //班级ID列表 var courseIdList = regularAttends.Select(x => x.CourseId).Distinct().ToList(); //课程ID列表 //获取课程信息列表 var courseList = CourseService.GetByCourseId(courseIdList); foreach (var classId in classIdList) { var regularAttend = regularAttends.FirstOrDefault(x => x.ClassId == classId); var courseInfo = courseList.FirstOrDefault(x => x.CourseId == regularAttend?.CourseId); //上课时间 var classTimeList = regularAttends .OrderBy(x => x.ClassBeginTime) .Select(x => x.ClassBeginTime + '-' + x.ClassEndTime) .ToList(); ScanCodeClassInfo scanCode = new ScanCodeClassInfo { ClassId = classId, ClassName = courseInfo?.ClassCnName ?? string.Empty, ClassTime = string.Join(" ", classTimeList) }; res.Add(scanCode); } }
/// <summary> /// 获取写生课多个时间段上课信息 /// <para>作 者:zhiwei.Tang</para> /// <para>创建时间:2019-03-07</para> /// </summary> /// <param name="sketchAttends">写生课次信息</param> /// <param name="res">out 常规课多个上课信息</param> private static void GetMultiAttendSketch( List <ViewStudentScanCodeAttend> sketchAttends, List <ScanCodeClassInfo> res) { var lifeClassIdList = sketchAttends.Select(x => x.BusinessId).Distinct().ToList(); var lifeClassList = new TblTimLifeClassRepository().GetLifeClassList(lifeClassIdList); foreach (var lifeClassId in lifeClassIdList) { var lifeClassInfo = lifeClassList.FirstOrDefault(x => x.LifeClassId == lifeClassId); var sketchAttend = sketchAttends.FirstOrDefault(x => x.BusinessId == lifeClassId); string classTime; if (sketchAttend != null) { classTime = DateTime.Parse(sketchAttend.ClassBeginTime).ToString("HH:mm") + "-" + DateTime.Parse(sketchAttend.ClassBeginTime).ToString("yyyy.MM.dd HH:mm"); } else if (lifeClassInfo != null) { classTime = lifeClassInfo.ClassBeginTime.Value.ToString("HH:mm") + "-" + lifeClassInfo.ClassBeginTime.Value.ToString("yyyy.MM.dd HH:mm"); } else { classTime = string.Empty; } ScanCodeClassInfo scanCode = new ScanCodeClassInfo { ClassId = lifeClassId, ClassName = lifeClassInfo?.Title ?? string.Empty, ClassTime = classTime }; res.Add(scanCode); } }