using System.Text.Json; using Tiku.Domain.Common; namespace Tiku.Domain.Catalog; public sealed class ScorelineField : AuditableTenantEntity { public Guid? RegionId { get; set; } public string? LegacyId { get; set; } public string FieldKey { get; set; } = string.Empty; public string FieldName { get; set; } = string.Empty; public string FieldType { get; set; } = "text"; public string? Unit { get; set; } public bool IsFilter { get; set; } public bool IsRequired { get; set; } public bool IsVisible { get; set; } = true; public bool IsTrend { get; set; } public JsonElement Options { get; set; } = JsonDefaults.Array(); public string? Placeholder { get; set; } public string? Description { get; set; } public int SortOrder { get; set; } = 100; } public sealed class ScorelineRecord : AuditableTenantEntity { public Guid? RegionId { get; set; } public Guid? SchoolId { get; set; } public Guid? MajorId { get; set; } public string? LegacyId { get; set; } public int Year { get; set; } public string? SchoolName { get; set; } public string? MajorName { get; set; } public JsonElement FieldValues { get; set; } = JsonDefaults.Object(); }