Mitarbeit bewerten begonnen, Schülerdaten, Gruppen

This commit is contained in:
2026-06-23 10:12:52 +02:00
parent fdbaa9ef4d
commit b2211270b4
32 changed files with 1968 additions and 49 deletions
+54
View File
@@ -0,0 +1,54 @@
namespace LehrerApp.Core.Models;
public class ParticipationSession
{
public Guid Id { get; set; } = Guid.NewGuid();
public Guid GroupId { get; set; }
public DateOnly Date { get; set; } = DateOnly.FromDateTime(DateTime.Today);
public Guid? LessonId { get; set; }
public string? Comment { get; set; }
public DateTime CreatedAt { get; set; } = DateTime.UtcNow;
public DateTime UpdatedAt { get; set; } = DateTime.UtcNow;
}
public class ParticipationEntry
{
public Guid Id { get; set; } = Guid.NewGuid();
public Guid SessionId { get; set; }
public Guid GroupId { get; set; }
public Guid StudentId { get; set; }
public DateOnly Date { get; set; } = DateOnly.FromDateTime(DateTime.Today);
public List<AspectRating> Ratings { get; set; } = [];
public string? Note { get; set; }
public DateTime UpdatedAt { get; set; } = DateTime.UtcNow;
}
public class AspectRating
{
public string Key { get; set; } = "";
public int Value { get; set; }
}
public class ParticipationAspect
{
public Guid Id { get; set; } = Guid.NewGuid();
public Guid? GroupId { get; set; }
public string Key { get; set; } = "";
public string Label { get; set; } = "";
public AspectValueType ValueType { get; set; } = AspectValueType.Scale5;
public bool IsActive { get; set; } = true;
public int SortOrder { get; set; }
public DateTime UpdatedAt { get; set; } = DateTime.UtcNow;
}
public enum AspectValueType { Scale5, Scale3, Binary, Points }
public static class DefaultParticipationAspects
{
public static readonly IReadOnlyList<ParticipationAspect> All =
[
new() { Key = "quality", Label = "Qualität", ValueType = AspectValueType.Scale5, SortOrder = 0 },
new() { Key = "quantity", Label = "Quantität", ValueType = AspectValueType.Scale5, SortOrder = 1 },
new() { Key = "workphase", Label = "Arbeitsphase", ValueType = AspectValueType.Scale5, SortOrder = 2 },
];
}
+18
View File
@@ -16,9 +16,27 @@ public class Student
}
public class Contact
{
public Guid Id { get; set; } = Guid.NewGuid();
public string Name { get; set; } = "";
public string Relation { get; set; } = "";
public string? Phone { get; set; }
public string? Email { get; set; }
public string? Street { get; set; }
public string? PostalCode { get; set; }
public string? City { get; set; }
public DateOnly? InvalidSince { get; set; }
public ContactInvalidReason? InvalidReason { get; set; }
public string? InvalidReasonDetails { get; set; }
}
public enum ContactInvalidReason
{
Moved,
NewPhoneNumber,
LostCustody,
NewEmailAddress,
NoLongerResponsible,
Other,
}
public enum Gender { M, W, D }