using LehrerApp.Core.Models; namespace LehrerApp.Desktop.Services.Mcp.Tools; // Schlanke, bewusst nicht 1:1 zu den LiteDB-Entities gehaltene Rückgabetypen: verhindert, dass ein // später zum Modell hinzugefügtes Feld (z.B. ein neues personenbezogenes Attribut) unbeabsichtigt // über ein MCP-Tool nach außen dringt, nur weil es Teil der Entity-Klasse ist. public record StudentDto(Guid Id, string FirstName, string LastName, bool IsActive); public record ExamResultDto(Guid StudentId, double TotalPoints, string? Grade, bool Absent); public record ExamDto( Guid Id, Guid GroupId, string Title, DateOnly Date, ExamStatus Status, Niveau? Niveau, List? Results); public record GradeDto( Guid Id, Guid StudentId, Guid GroupId, GradeCategory Category, string Value, DateOnly Date, double Weight, string? Note); public record TimetableSlotDto(Guid Id, Guid GroupId, DayOfWeek Weekday, int PeriodNumber, string? Room); public record TimeEntryDto( Guid Id, Guid? TaskId, string Category, Guid? GroupId, DateOnly Date, TimeOnly? StartTime, TimeOnly? EndTime, int DurationMinutes, string? Description);