using Tiobon.Core.IServices; using Tiobon.Core.Model.Models; using Tiobon.Core.Services.BASE; using Tiobon.Core.IRepository.Base; using Tiobon.Core.Common; using Tiobon.Core.Model; using AgileObjects.AgileMapper; using Tiobon.Core.Common.Caches; namespace Tiobon.Core.Services; /// /// Ghre_Course (服务) /// public class Ghre_CourseServices : BaseServices, IGhre_CourseServices { private readonly IBaseRepository _dal; private IGhre_CourseClassServices _ghre_CourseClassServices; public Ghre_CourseServices(IBaseRepository dal, ICaching caching, IGhre_CourseClassServices ghre_CourseClassServices) { this._dal = dal; base.BaseDal = dal; _ghre_CourseClassServices = ghre_CourseClassServices; base._caching = caching; } public override async Task> QueryFilterPage(QueryBody body) { var data = await BaseDal.QueryFilterPage(body); var list = Mapper.Map(data.result.DT_TableDataT1).ToANew>(); var classIds = list.Select(x => x.CourseClassId).Distinct().ToList(); var classs = await _ghre_CourseClassServices.Query(x => classIds.Contains(x.Id)); list.ForEach(x => { if (x.CourseClassId != null) x.CourseClassName = classs.FirstOrDefault(o => o.Id == x.CourseClassId)?.ClassName; }); return new ServicePageResult(body.pageNum, data.result.DT_TablePageInfoT1.TotalCount, body.pageSize, list); } }