6bc4c2e7f2
This commit introduces the TeamMeetingHistory entity, including its configuration and database migrations. A new ITeamMeetingHistoryService interface and its implementation, TeamMeetingHistoryService, are added to handle CRUD operations for meeting histories. Additionally, UI components such as History.razor, MeetingHistoryDetailDialog, and SaveMeetingHistoryDialog are created to facilitate viewing and saving meeting histories. The integration of INoteNamingService enhances note management for meeting records, improving overall functionality and user experience in the application.
51 lines
1.7 KiB
C#
51 lines
1.7 KiB
C#
using Core.Entities;
|
|
|
|
namespace WebApp.Services;
|
|
|
|
public interface ITeamMeetingHistoryService
|
|
{
|
|
/// <summary>
|
|
/// Gets all meeting histories within an optional date range.
|
|
/// </summary>
|
|
/// <param name="startDate">Optional start date filter</param>
|
|
/// <param name="endDate">Optional end date filter</param>
|
|
Task<IEnumerable<TeamMeetingHistory>> GetMeetingHistoriesAsync(DateTime? startDate = null, DateTime? endDate = null);
|
|
|
|
/// <summary>
|
|
/// Gets a specific meeting history by ID with teams and students included.
|
|
/// </summary>
|
|
Task<TeamMeetingHistory?> GetMeetingHistoryAsync(int id);
|
|
|
|
/// <summary>
|
|
/// Creates a new meeting history record.
|
|
/// </summary>
|
|
Task<TeamMeetingHistory> CreateMeetingHistoryAsync(TeamMeetingHistory meetingHistory);
|
|
|
|
/// <summary>
|
|
/// Updates an existing meeting history record.
|
|
/// </summary>
|
|
Task<TeamMeetingHistory> UpdateMeetingHistoryAsync(TeamMeetingHistory meetingHistory);
|
|
|
|
/// <summary>
|
|
/// Deletes a meeting history record.
|
|
/// </summary>
|
|
Task DeleteMeetingHistoryAsync(int id);
|
|
|
|
/// <summary>
|
|
/// Gets which teams met on a specific date.
|
|
/// </summary>
|
|
Task<IEnumerable<Team>> GetTeamsForDateAsync(DateTime date);
|
|
|
|
/// <summary>
|
|
/// Gets which students were present on a specific date.
|
|
/// </summary>
|
|
Task<IEnumerable<Student>> GetStudentsForDateAsync(DateTime date);
|
|
|
|
/// <summary>
|
|
/// Gets the meeting note for a specific meeting date by looking it up by title.
|
|
/// </summary>
|
|
/// <param name="meetingDate">The date of the meeting</param>
|
|
/// <returns>The note if found, null otherwise</returns>
|
|
Task<Note?> GetMeetingNoteAsync(DateTime meetingDate);
|
|
}
|