diff --git a/Tiobon.Core.Services/Ghre/Ghre_CourseServices.cs b/Tiobon.Core.Services/Ghre/Ghre_CourseServices.cs index 5e8e2fd2..4dc6faf4 100644 --- a/Tiobon.Core.Services/Ghre/Ghre_CourseServices.cs +++ b/Tiobon.Core.Services/Ghre/Ghre_CourseServices.cs @@ -161,6 +161,11 @@ public class Ghre_CourseServices : BaseServices>(x)).ToList(); }); + data.ForEach(x => + { + if (x.CourseSceneId != null) + courseSceneIds.Add(x.CourseSceneId.Value); + }); courseSceneIds = courseSceneIds.Distinct().ToList(); var courseScenes = await Db.Queryable().Where(x => courseSceneIds.Contains(x.Id)).ToListAsync(); @@ -172,11 +177,23 @@ public class Ghre_CourseServices : BaseServices x.CourseClassId.Contains(a.Id.ToString())).ToList(); x.CourseClassName = string.Join(",", courseClass.Select(a => a.ClassName + " (" + a.ClassNo + ")")); + if (x.CourseSceneIds.IsNotEmptyOrNull()) { - var courseScene = courseScenes.Where(a => x.CourseSceneIds.Contains(a.Id.ToString())).ToList(); + x.CourseSceneIds1 = JsonConvert.DeserializeObject>(x.CourseSceneIds); + if (x.CourseSceneIds1.Any()) + { + var courseScene = courseScenes.Where(a => x.CourseSceneIds1.Contains(a.Id)).ToList(); + x.CourseSceneName = string.Join(",", courseScene.Select(a => a.SceneName + " (" + a.SceneNo + ")")); + } + } + + else if (x.CourseSceneId != null) + { + var courseScene = courseScenes.Where(a => a.Id == x.CourseSceneId).ToList(); x.CourseSceneName = string.Join(",", courseScene.Select(a => a.SceneName + " (" + a.SceneNo + ")")); } + }); return new ServicePageResult(filter.pageNum, totalCount, filter.pageSize, data);