实验预约

This commit is contained in:
2026-07-28 21:04:18 +08:00 Unverified
parent 865378dbdf
commit ec979f640d
12 changed files with 8750 additions and 0 deletions
@@ -81,6 +81,20 @@ public sealed class ClassroomReservationAvailabilityService(AppDbContext db)
.ToListAsync(cancellationToken);
occupiedIds.UnionWith(makeupExamRoomIds);
var experimentRoomIds = await db.ExperimentSessions.AsNoTracking()
.Where(session =>
session.ExperimentProject!.TeachingTask!.AcademicTermId ==
term.Id &&
session.ExperimentProject.Status !=
ExperimentProjectStatus.Closed &&
session.Status == ExperimentSessionStatus.Scheduled &&
session.SessionDate == reservationDate &&
session.StartPeriod < startPeriod + periodCount &&
startPeriod < session.StartPeriod + session.PeriodCount)
.Select(session => session.ClassroomId)
.ToListAsync(cancellationToken);
occupiedIds.UnionWith(experimentRoomIds);
var reservationQuery = db.ClassroomReservations.AsNoTracking()
.Where(reservation =>
reservation.AcademicTermId == term.Id &&