namespace Tiobon.Core.Services; /// /// 开班反馈 (服务) /// public class Ghre_OpenClassFeedbackServices : BaseServices, IGhre_OpenClassFeedbackServices { private readonly IBaseRepository _dal; public Ghre_OpenClassFeedbackServices(ICaching caching, IBaseRepository dal) { this._dal = dal; base.BaseDal = dal; base._caching = caching; } public override async Task> QueryFilterPage(QueryBody filter, string condition, bool? IsEnable = true) { var result = await base.QueryFilterPage(filter, condition, IsEnable); var staffIds = result.result.DT_TableDataT1.Where(x => x.StaffId != null).Select(x => x.StaffId.Value).Distinct().ToList(); var teacherIds = result.result.DT_TableDataT1.Where(x => x.TeacherId != null).Select(x => x.TeacherId.Value).Distinct().ToList(); var openClassIds = result.result.DT_TableDataT1.Where(x => x.OpenClassId != null).Select(x => x.OpenClassId.Value).Distinct().ToList(); //var surveyIds = result.result.DT_TableDataT1.Where(x => x.SurveyId != null).Select(x => x.SurveyId.Value).Distinct().ToList(); var courseIds = result.result.DT_TableDataT1.Where(x => x.CourseId != null).Select(x => x.CourseId.Value).Distinct().ToList(); var staffs = await Db.Queryable() .Where(x => staffIds.Contains(x.StaffID)).Select(x => new { x.StaffID, x.StaffNo, x.StaffName }).ToListAsync(); var openClasss = await Db.Queryable() .Where(x => openClassIds.Contains(x.Id)).Select(x => new { x.Id, x.OpenClassName }).ToListAsync(); var courses = await Db.Queryable() .Where(x => courseIds.Contains(x.Id)).Select(x => new { x.Id, x.CourseName }).ToListAsync(); var teachers = await Db.Queryable() .Where(x => teacherIds.Contains(x.Id)).Select(x => new { x.Id, x.TeacherName }).ToListAsync(); for (int i = 0; i < result.result.DT_TableDataT1.Count; i++) { var DT_TableDataT1 = result.result.DT_TableDataT1[i]; if (DT_TableDataT1.StaffId != null) DT_TableDataT1.StaffName = staffs.Where(x => x.StaffID == DT_TableDataT1.StaffId).FirstOrDefault()?.StaffName; if (DT_TableDataT1.OpenClassId != null) DT_TableDataT1.OpenClassName = openClasss.Where(x => x.Id == DT_TableDataT1.OpenClassId).FirstOrDefault()?.OpenClassName; if (DT_TableDataT1.CourseId != null) DT_TableDataT1.CourseName = courses.Where(x => x.Id == DT_TableDataT1.CourseId).FirstOrDefault()?.CourseName; if (DT_TableDataT1.TeacherId != null) DT_TableDataT1.TeacherName = teachers.Where(x => x.Id == DT_TableDataT1.TeacherId).FirstOrDefault()?.TeacherName; if (DT_TableDataT1.ExpiryTime != null) { if (DateTimeHelper.ConvertToSecondString(DT_TableDataT1.ExpiryTime) == DateTimeHelper.ConvertToSecondString(DateTime.MaxValue)) DT_TableDataT1.ExpiryTime1 = "长期"; else DT_TableDataT1.ExpiryTime1 = DateTimeHelper.ConvertToSecondString(DT_TableDataT1.ExpiryTime); } else DT_TableDataT1.ExpiryTime1 = "长期"; result.result.DT_TableDataT1[i] = DT_TableDataT1; } return result; } }