namespace LehrerApp.Core.Models; /// /// Ein Sitzplan einer Lerngruppe. Eine Gruppe kann mehrere Pläne besitzen, /// beispielsweise für unterschiedliche Unterrichtsräume. /// public class SeatingPlan { public Guid Id { get; set; } = Guid.NewGuid(); public Guid GroupId { get; set; } public string Name { get; set; } = ""; public string Room { get; set; } = ""; public int Rows { get; set; } = 4; public int Columns { get; set; } = 4; /// /// Zeigt die Tafel unterhalb des Sitzrasters an. Der Standardwert false /// erhält für bestehende Pläne die bisherige Darstellung oberhalb des Rasters. /// public bool IsBoardAtBottom { get; set; } /// /// Zusätzlicher horizontaler Abstand nach jeder Spalte, in Pixeln. Der Eintrag mit Index 0 /// liegt zwischen der ersten und zweiten Spalte. Fehlende Einträge bedeuten keinen Abstand. /// public List ColumnGapWidths { get; set; } = []; public List Assignments { get; set; } = []; public DateTime CreatedAt { get; set; } = DateTime.UtcNow; public DateTime UpdatedAt { get; set; } = DateTime.UtcNow; } public class SeatAssignment { public int Row { get; set; } public int Column { get; set; } public Guid StudentId { get; set; } }