using System.ComponentModel; using LehrerApp.Core.Interfaces; namespace LehrerApp.Desktop.Services.Mcp.Tools; /// MCP-Read-Tool "get_grades" (Phase 1, siehe Planungsdokument). public class GradeTools(IGradeRepository grades) { [Description("Listet Noten einer Lerngruppe, optional gefiltert auf einen einzelnen Schüler.")] public List GetGrades( [Description("Lerngruppen-ID.")] Guid groupId, [Description("Optionale Schüler-ID zum Filtern auf einen einzelnen Schüler.")] Guid? studentId = null) { var list = studentId is { } sid ? grades.GetByStudentAndGroup(sid, groupId) : grades.GetByGroup(groupId); return list.Select(g => new GradeDto( g.Id, g.StudentId, g.GroupId, g.Category, g.Value, g.Date, g.Weight, g.Note)).ToList(); } }