namespace Tiobon.Core.Services; /// /// 开班管理 (服务) /// public class Ghre_OpenClassServices : BaseServices, IGhre_OpenClassServices { private readonly IBaseRepository _dal; public Ghre_OpenClassServices(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) { if (filter.jsonParam != null) foreach (JProperty jProperty in filter.jsonParam.Properties()) { var name = jProperty.Name; var value = jProperty.Value.ToString(); if (name == "StartEndTime") { var jsonParam = JsonHelper.JsonToObj(value); if (jsonParam.columnValue != null) { var ids1 = JsonHelper.JsonToObj>(jsonParam.columnValue.ToString()); condition += $" AND ((StartTime>='{ids1[0]} 00:00:00' AND StartTime<='{ids1[1]} 23:59:59')"; condition += $" OR (EndTime>='{ids1[0]} 00:00:00' AND EndTime<='{ids1[1]} 23:59:59'))"; } } } var result = await base.QueryFilterPage(filter, condition, IsEnable); for (int i = 0; i < result.result.DT_TableDataT1.Count; i++) { var DT_TableDataT1 = result.result.DT_TableDataT1[i]; DT_TableDataT1.OpenClassType = await GetParaLabel("TrainingOpenClassType", result.result.DT_TableDataT1[i].OpenClassType); DT_TableDataT1.OpenClassWay = await GetParaLabel("TrainingOpenClassWay", result.result.DT_TableDataT1[i].OpenClassWay); DT_TableDataT1.ScoringMethod = await GetParaLabel("ScoreMethod", result.result.DT_TableDataT1[i].ScoringMethod); if (DT_TableDataT1.LinkType == "Course") DT_TableDataT1.CourseOrSceneName = (await Db.Queryable().FirstAsync(x => x.Id == DT_TableDataT1.LinkId))?.CourseName; else DT_TableDataT1.CourseOrSceneName = (await Db.Queryable().FirstAsync(x => x.Id == DT_TableDataT1.LinkId))?.SceneName; if (DT_TableDataT1.StartTime != null && DT_TableDataT1.EndTime != null) DT_TableDataT1.StartEndTime = $"{DateTimeHelper.ConvertToMiniuteString(DT_TableDataT1.StartTime)}~{DateTimeHelper.ConvertToMiniuteString(DT_TableDataT1.EndTime)}"; if (DT_TableDataT1.RegisterStartTime != null && DT_TableDataT1.RegisterEndTime != null) DT_TableDataT1.RegisterStartEndTime = $"{DateTimeHelper.ConvertToMiniuteString(DT_TableDataT1.RegisterStartTime)}~{DateTimeHelper.ConvertToMiniuteString(DT_TableDataT1.RegisterEndTime)}"; if (DT_TableDataT1.ExamPaperId != null) DT_TableDataT1.ExamPaperName = (await Db.Queryable().FirstAsync(x => x.Id == DT_TableDataT1.ExamPaperId))?.PaperName; if (DT_TableDataT1.ManagerId != null) DT_TableDataT1.ManagerName = (await Db.Queryable().FirstAsync(x => x.StaffID == DT_TableDataT1.ManagerId))?.StaffName; if (DT_TableDataT1.TeacherId != null) DT_TableDataT1.TeacherName = (await Db.Queryable().FirstAsync(x => x.Id == DT_TableDataT1.TeacherId))?.TeacherName; result.result.DT_TableDataT1[i] = DT_TableDataT1; } return result; } public override async Task Add(InsertGhre_OpenClassInput entity) { var result = await base.Add(entity); entity.Status = "Temporary"; return result; } public override async Task Update(long Id, EditGhre_OpenClassInput editModel) { var result = await base.Update(Id, editModel, null, ["Status"]); return result; } }