using MySqlX.XDevAPI.Common;
using Tiobon.Core.IServices;
namespace Tiobon.Core.Services;
///
/// 开班课表 (服务)
///
public class Ghre_OpenClassScheduleServices : BaseServices, IGhre_OpenClassScheduleServices
{
private readonly IBaseRepository _dal;
public Ghre_OpenClassScheduleServices(ICaching caching, IBaseRepository dal)
{
this._dal = dal;
base.BaseDal = dal;
base._caching = caching;
}
public override async Task> QueryDto(Expression> whereExpression)
{
var data = await base.QueryDto(whereExpression);
var courseIds = data.Select(x => x.CourseId).Distinct().ToList();
var courses = await Db.Queryable().Where(x => courseIds.Contains(x.Id)).ToListAsync();
data.ForEach(x =>
{
x.CourseName = courses.Where(o => x.CourseId == o.Id).FirstOrDefault()?.CourseName;
x.StartEndTime.Add(x.StartTime);
x.StartEndTime.Add(x.EndTime);
});
return data;
}
}