namespace YD_Event.Application.Event.Dtos; public class RefereeApplicationOutput { public long ApplicationId { get; set; } public long RefereeId { get; set; } public string Name { get; set; } = null!; public string RegionName { get; set; } = null!; public string LevelName { get; set; } = null!; public string CertificateUrl { get; set; } = null!; public string Mobile { get; set; } = null!; public int Roles { get; set; } public List RoleNames { get; set; } = new(); public DateTime CreatedTime { get; set; } public int ApplicationStatus { get; set; } public string ApplicationStatusName { get; set; } = null!; public string? Remark { get; set; } } public class EventRefereeOutput : RefereeApplicationOutput { public long EventRefereeId { get; set; } public int SourceType { get; set; } public string SourceTypeName { get; set; } = null!; } public class JudgeAssignmentBoardOutput { public bool ArrangementConfirmed { get; set; } public bool Submitted { get; set; } public List Projects { get; set; } = new(); } public class JudgeAssignmentProjectOutput { public long EventProjectId { get; set; } public string ProjectName { get; set; } = null!; public string RuleName { get; set; } = null!; /// 裁判大类分组(难度裁判、表现裁判、主裁),由计分规则的裁判席位配置解析而来。 public List JudgeRoleSections { get; set; } = new(); public List Sessions { get; set; } = new(); } /// 裁判大类分组。 public class JudgeRoleSectionOutput { public string Title { get; set; } = null!; public List Slots { get; set; } = new(); } /// 裁判类型(如 DP 力量体操、DM 多摇、P 表现、T 主裁),一个类型可分配多名裁判。 public class JudgeRoleSlotOutput { public string Code { get; set; } = null!; public string Name { get; set; } = null!; /// 该类型至少需要分配的裁判人数。 public int MinCount { get; set; } /// 该类型最多可分配的裁判人数,null 表示不限人数(成绩按平均值计算)。 public int? MaxCount { get; set; } /// 执裁该类型所需具备的裁判角色位标记。 public int RoleFlag { get; set; } } public class JudgeAssignmentSessionOutput { public long SessionId { get; set; } public string SessionName { get; set; } = null!; public string VenueName { get; set; } = null!; public bool Assigned { get; set; } public List Assignments { get; set; } = new(); } public class JudgeAssignmentItemOutput { public long EventRefereeId { get; set; } /// 裁判席位编码(同一场次内唯一,如 DP1、DP2、T)。 public string JudgeRole { get; set; } = null!; /// 裁判类型编码(如 DP、DM、DR、P、T),对应计分规则中的裁判类型。 public string JudgeRoleType { get; set; } = null!; public string JudgeRoleName { get; set; } = null!; public long RefereeId { get; set; } public string RefereeName { get; set; } = null!; public string Mobile { get; set; } = null!; } public class SaveJudgeAssignmentsInput { public long EventId { get; set; } public long SessionId { get; set; } public List Assignments { get; set; } = new(); } public class SaveJudgeAssignmentItem { /// 裁判类型编码;同一类型可重复出现,表示该类型分配了多名裁判。 public string JudgeRole { get; set; } = null!; public long EventRefereeId { get; set; } public long RefereeId { get; set; } } public class SubmitJudgeAssignmentsInput { public long EventId { get; set; } }