Notenübersicht der Gruppe (Matrix, Gesamt-Spalte, Sortierung, Halbjahresfilter), Einzelnoten-Pflege samt Sammelerfassung, Gewichtungsschema mit Voreinstellung je Gruppentyp, Zeugnisnoten-Berechnung mit Übersteuern/Festschreiben/Export und Notenentwicklung im Schülerdetail. Dazu Anwesenheits-/Hausaufgaben-Tracking je Mitarbeit-Sitzung, ein neuer Mitarbeits-Assistent (Zeitleiste mit Abschnitten, automatischer Notenvorschlag, Zusammenzug zur Halbjahresnote) und eine Dashboard-Kachel für offene Entschuldigungen. Außerdem: verbliebene englische Begriffe in Auswahlfeldern und Buttons auf Deutsch umgestellt.
155 lines
4.8 KiB
C#
155 lines
4.8 KiB
C#
using LehrerApp.Core.Models;
|
|
|
|
namespace LehrerApp.Core.Interfaces;
|
|
|
|
public interface IStudentRepository
|
|
{
|
|
Student? GetById(Guid id);
|
|
List<Student> GetAll(bool includeInactive = false);
|
|
List<Student> GetByGroup(Guid groupId);
|
|
void Save(Student student);
|
|
void Delete(Guid id);
|
|
}
|
|
public interface IGroupRepository
|
|
{
|
|
LearningGroup? GetById(Guid id);
|
|
List<LearningGroup> GetAll(bool includeInactive = false);
|
|
List<LearningGroup> GetBySchoolYear(string schoolYear, bool includeInactive = false);
|
|
void Save(LearningGroup group);
|
|
void Delete(Guid id);
|
|
}
|
|
public interface IGroupMembershipRepository
|
|
{
|
|
List<GroupMembership> GetByStudent(Guid studentId);
|
|
List<GroupMembership> GetByGroup(Guid groupId);
|
|
GroupMembership? GetByStudentAndGroup(Guid studentId, Guid groupId);
|
|
void Save(GroupMembership membership);
|
|
void Delete(Guid id);
|
|
}
|
|
public interface IExamRepository
|
|
{
|
|
Exam? GetById(Guid id);
|
|
List<Exam> GetByGroup(Guid groupId);
|
|
void Save(Exam exam);
|
|
void Delete(Guid id);
|
|
}
|
|
public interface IExamResultRepository
|
|
{
|
|
List<ExamResult> GetByExam(Guid examId);
|
|
List<ExamResult> GetByStudent(Guid studentId);
|
|
ExamResult? GetByExamAndStudent(Guid examId, Guid studentId);
|
|
void Save(ExamResult result);
|
|
void SaveMany(List<ExamResult> results);
|
|
}
|
|
public interface IGradingKeyTemplateRepository
|
|
{
|
|
List<GradingKeyTemplate> GetAll();
|
|
List<GradingKeyTemplate> GetByGradingSystem(GradingSystem system);
|
|
GradingKeyTemplate? GetById(Guid id);
|
|
void Save(GradingKeyTemplate template);
|
|
void Delete(Guid id);
|
|
}
|
|
public interface IGradeRepository
|
|
{
|
|
List<Grade> GetByStudentAndGroup(Guid studentId, Guid groupId);
|
|
List<Grade> GetByGroup(Guid groupId);
|
|
void Save(Grade grade);
|
|
void Delete(Guid id);
|
|
}
|
|
public interface IGradingSchemeRepository
|
|
{
|
|
GradingScheme? GetByGroup(Guid groupId);
|
|
GradingScheme? GetDefaultForType(GroupType type);
|
|
void Save(GradingScheme scheme);
|
|
void Delete(Guid id);
|
|
}
|
|
public interface IReportGradeRepository
|
|
{
|
|
List<ReportGrade> GetByGroup(Guid groupId);
|
|
ReportGrade? GetByStudentGroupPeriod(Guid studentId, Guid groupId, string period);
|
|
void Save(ReportGrade grade);
|
|
void Delete(Guid id);
|
|
}
|
|
public interface IUnitRepository
|
|
{
|
|
Unit? GetById(Guid id);
|
|
List<Unit> GetByGroup(Guid groupId);
|
|
void Save(Unit unit);
|
|
void Delete(Guid id);
|
|
}
|
|
public interface ILessonRepository
|
|
{
|
|
List<Lesson> GetByUnit(Guid unitId);
|
|
List<Lesson> GetByGroupAndDate(Guid groupId, DateOnly date);
|
|
List<Lesson> GetByGroupAndRange(Guid groupId, DateOnly from, DateOnly to);
|
|
void Save(Lesson lesson);
|
|
void Delete(Guid id);
|
|
}
|
|
public interface IDocumentationRepository
|
|
{
|
|
List<Documentation> GetByStudent(Guid studentId);
|
|
List<Documentation> GetByStudentAndType(Guid studentId, DocumentationType type);
|
|
void Save(Documentation doc);
|
|
void Delete(Guid id);
|
|
}
|
|
public interface IWorkTaskRepository
|
|
{
|
|
List<WorkTask> GetByStatus(WorkTaskStatus status);
|
|
List<WorkTask> GetAll();
|
|
void Save(WorkTask task);
|
|
void Delete(Guid id);
|
|
}
|
|
public interface ITimeEntryRepository
|
|
{
|
|
List<TimeEntry> GetByDate(DateOnly date);
|
|
List<TimeEntry> GetByDateRange(DateOnly from, DateOnly to);
|
|
List<TimeEntry> GetByTask(Guid taskId);
|
|
void Save(TimeEntry entry);
|
|
void Delete(Guid id);
|
|
}
|
|
public interface IParticipationSessionRepository
|
|
{
|
|
List<ParticipationSession> GetByGroup(Guid groupId);
|
|
ParticipationSession? GetById(Guid id);
|
|
void Save(ParticipationSession session);
|
|
void Delete(Guid id);
|
|
}
|
|
public interface IParticipationRepository
|
|
{
|
|
List<ParticipationEntry> GetBySession(Guid sessionId);
|
|
List<ParticipationEntry> GetByStudent(Guid studentId);
|
|
ParticipationEntry? GetBySessionAndStudent(Guid sessionId, Guid studentId);
|
|
void Save(ParticipationEntry entry);
|
|
void SaveMany(List<ParticipationEntry> entries);
|
|
void DeleteBySession(Guid sessionId);
|
|
}
|
|
public interface IParticipationAspectRepository
|
|
{
|
|
List<ParticipationAspect> GetDefaults();
|
|
List<ParticipationAspect> GetByGroup(Guid groupId);
|
|
void Save(ParticipationAspect aspect);
|
|
void Delete(Guid id);
|
|
}
|
|
public interface IParticipationSectionRepository
|
|
{
|
|
List<ParticipationSection> GetByGroup(Guid groupId);
|
|
void Save(ParticipationSection section);
|
|
void Delete(Guid id);
|
|
}
|
|
public interface ISubjectRepository
|
|
{
|
|
List<Subject> GetAll();
|
|
Subject? GetById(Guid id);
|
|
Subject? GetByName(string name);
|
|
void Save(Subject subject);
|
|
void Delete(Guid id);
|
|
}
|
|
public interface ICompetencyDomainRepository
|
|
{
|
|
List<CompetencyDomain> GetBySubjectAndGrade(Guid subjectId, int gradeLevel);
|
|
CompetencyDomain? GetById(Guid id);
|
|
void Save(CompetencyDomain domain);
|
|
void Delete(Guid id);
|
|
void DeleteBySubjectAndGrade(Guid subjectId, int gradeLevel);
|
|
}
|