using Core.Entities; using Data; using Microsoft.EntityFrameworkCore; namespace WebApp.Services; /// /// Service for loading meeting schedule data from the database. /// public class MeetingScheduleDataService : IMeetingScheduleDataService { private readonly AppDbContext _context; public MeetingScheduleDataService(AppDbContext context) { _context = context; } public async Task LoadTeamsAsync() { return await _context.Teams .AsNoTracking() .Include(e => e.Event) .Include(e => e.Students) .OrderBy(e => e.Event.Name) .ThenBy(e => e.Identifier) .ToArrayAsync(); } public async Task LoadStudentsAsync() { return await _context.Students .AsNoTracking() .Include(e => e.Teams) .ThenInclude(t => t.Event) .Include(e => e.Teams) .ThenInclude(t => t.Captain) .Include(e => e.EventRankings) .ThenInclude(e => e.EventDefinition) .OrderBy(e => e.FirstName) .ToArrayAsync(); } }