diff --git a/WebApp/Components/Features/Teams/TeamMeetingHistoryDialog.razor b/WebApp/Components/Features/Teams/TeamMeetingHistoryDialog.razor index ae38848..2e7ddc5 100644 --- a/WebApp/Components/Features/Teams/TeamMeetingHistoryDialog.razor +++ b/WebApp/Components/Features/Teams/TeamMeetingHistoryDialog.razor @@ -2,6 +2,9 @@ @using Core.Entities @using WebApp.Services @using Microsoft.AspNetCore.Components +@using WebApp.Models +@using WebApp.Components.Shared.Components +@using Core.Utility @inject ITeamMeetingHistoryService TeamMeetingHistoryService @implements IAsyncDisposable @@ -23,19 +26,40 @@ Date - Status + Team Members @{ - var teamWasInMeeting = context.Teams.Any(t => t.Id == TeamId); + var team = context.Teams.FirstOrDefault(t => t.Id == TeamId); + var presentStudentIds = context.Students.Select(s => s.Id).ToHashSet(); + var absentStudents = team?.Students.Where(s => !presentStudentIds.Contains(s.Id)).ToList() ?? []; } @context.MeetingDate.ToString("MM/dd/yyyy") - - @(teamWasInMeeting ? "Team Met" : "Team Not Scheduled") - + @if (team != null) + { + + @foreach (var student in team.Students) + { + var isAbsent = absentStudents.Contains(student); + var formattedName = TeamStudentNameFormatter.FormatStudentName( + student, + team, + new TeamStudentNameFormatter.FormatOptions + { + MarkAbsent = true, + AbsentStudents = absentStudents + }); + + @formattedName + + } + + } diff --git a/WebApp/Services/TeamMeetingHistoryService.cs b/WebApp/Services/TeamMeetingHistoryService.cs index 679e0c6..a1ea1e2 100644 --- a/WebApp/Services/TeamMeetingHistoryService.cs +++ b/WebApp/Services/TeamMeetingHistoryService.cs @@ -209,6 +209,8 @@ public class TeamMeetingHistoryService : ITeamMeetingHistoryService .AsNoTracking() .Include(tmh => tmh.Teams) .ThenInclude(t => t.Event) + .Include(tmh => tmh.Teams) + .ThenInclude(t => t.Students) .Include(tmh => tmh.Students) .Where(tmh => tmh.Teams.Any(t => t.Id == teamId)) .OrderByDescending(tmh => tmh.MeetingDate)