Add class-teacher slots on SchoolClass with owner-only assign/clear.
EOF Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -43,12 +43,20 @@ internal static partial class PersonCardReader
|
||||
|
||||
var catalog = school.Catalog;
|
||||
var classes = roster.Classes.ToDictionary(schoolClass => schoolClass.Id, StringComparer.Ordinal);
|
||||
var people = roster.People.ToDictionary(person => person.Id, StringComparer.Ordinal);
|
||||
int? year = null;
|
||||
string? letter = null;
|
||||
string? classTeacherId = null;
|
||||
string? classTeacherName = null;
|
||||
if (person.ClassId is { } classId && classes.TryGetValue(classId, out var schoolClass))
|
||||
{
|
||||
year = schoolClass.Year;
|
||||
letter = schoolClass.Letter;
|
||||
classTeacherId = schoolClass.ClassTeacherId;
|
||||
if (classTeacherId is { } teacherId && people.TryGetValue(teacherId, out var teacher))
|
||||
{
|
||||
classTeacherName = teacher.Name.Full;
|
||||
}
|
||||
}
|
||||
|
||||
var needs = LiveNeeds(school.World, personId) ?? person.Needs;
|
||||
@@ -98,7 +106,9 @@ internal static partial class PersonCardReader
|
||||
Connections: Connections(roster, person, catalog, locale),
|
||||
Orientation: OrientationOf(person, catalog, locale),
|
||||
TalkCircleMemberIds: circle?.MemberIds ?? [],
|
||||
TalkTopicId: circle?.TopicId);
|
||||
TalkTopicId: circle?.TopicId,
|
||||
ClassTeacherId: classTeacherId,
|
||||
ClassTeacherName: classTeacherName);
|
||||
}
|
||||
|
||||
private static IReadOnlyDictionary<string, float>? LiveNeeds(World world, string personId)
|
||||
|
||||
Reference in New Issue
Block a user