using Core.Entities; namespace WebApp.Services; public interface ITeamMeetingHistoryService { /// /// Gets all meeting histories within an optional date range. /// /// Optional start date filter /// Optional end date filter Task> GetMeetingHistoriesAsync(DateTime? startDate = null, DateTime? endDate = null); /// /// Gets a specific meeting history by ID with teams and students included. /// Task GetMeetingHistoryAsync(int id); /// /// Creates a new meeting history record. /// Task CreateMeetingHistoryAsync(TeamMeetingHistory meetingHistory); /// /// Updates an existing meeting history record. /// Task UpdateMeetingHistoryAsync(TeamMeetingHistory meetingHistory); /// /// Deletes a meeting history record. /// Task DeleteMeetingHistoryAsync(int id); /// /// Gets which teams met on a specific date. /// Task> GetTeamsForDateAsync(DateTime date); /// /// Gets which students were present on a specific date. /// Task> GetStudentsForDateAsync(DateTime date); /// /// Gets the meeting note for a specific meeting date by looking it up by title. /// /// The date of the meeting /// The note if found, null otherwise Task GetMeetingNoteAsync(DateTime meetingDate); }