Store leftover CSV columns on hidden student notes, move catalog import to /events/import, and persist Students index columns from Chapter Settings. Co-authored-by: Cursor <cursoragent@cursor.com>
54 lines
1.9 KiB
C#
54 lines
1.9 KiB
C#
namespace Core.Services;
|
|
|
|
/// <summary>
|
|
/// Service for managing note naming conventions throughout the system.
|
|
/// Centralizes the logic for generating note titles for meeting notes and page notes.
|
|
/// </summary>
|
|
public interface INoteNamingService
|
|
{
|
|
/// <summary>
|
|
/// Gets the title for a meeting note based on the meeting date.
|
|
/// Format: "#Meeting Notes MM/dd/yyyy"
|
|
/// </summary>
|
|
/// <param name="meetingDate">The date of the meeting</param>
|
|
/// <returns>The formatted meeting note title</returns>
|
|
string GetMeetingNoteTitle(DateTime meetingDate);
|
|
|
|
/// <summary>
|
|
/// Gets the title for a page note based on the page identifier.
|
|
/// Format: "#{pageIdentifier}"
|
|
/// </summary>
|
|
/// <param name="pageIdentifier">The page identifier (e.g., "students", "teams")</param>
|
|
/// <returns>The formatted page note title</returns>
|
|
string GetPageNoteTitle(string pageIdentifier);
|
|
|
|
/// <summary>
|
|
/// Checks if a note title represents a page note (starts with "#").
|
|
/// </summary>
|
|
/// <param name="noteTitle">The note title to check</param>
|
|
/// <returns>True if the note is a page note, false otherwise</returns>
|
|
bool IsPageNote(string noteTitle);
|
|
|
|
/// <summary>
|
|
/// Checks if a note title represents a meeting note (starts with "#Meeting Notes").
|
|
/// </summary>
|
|
/// <param name="noteTitle">The note title to check</param>
|
|
/// <returns>True if the note is a meeting note, false otherwise</returns>
|
|
bool IsMeetingNote(string noteTitle);
|
|
|
|
/// <summary>
|
|
/// Gets the title for a student note. Format: "#Student:{id}"
|
|
/// </summary>
|
|
string GetStudentNoteTitle(int studentId);
|
|
|
|
/// <summary>
|
|
/// Checks if a note title is a student note.
|
|
/// </summary>
|
|
bool IsStudentNote(string? noteTitle);
|
|
|
|
/// <summary>
|
|
/// Parses the student id from a student note title.
|
|
/// </summary>
|
|
bool TryParseStudentNoteId(string? noteTitle, out int studentId);
|
|
}
|