namespace YD_Event.Application.Client.Dtos; public class ScoreEventDto { public long Id { get; set; } public string Name { get; set; } = string.Empty; } public class ScoreQueryInput { public long? EventId { get; set; } public string? Keyword { get; set; } } public class JudgeScoreDto { public string Label { get; set; } = string.Empty; public string Score { get; set; } = string.Empty; } public class ClientScoreDto { public long Id { get; set; } public long EventId { get; set; } public string EventName { get; set; } = string.Empty; public string AthleteName { get; set; } = string.Empty; public string AthleteNo { get; set; } = string.Empty; public string Category { get; set; } = string.Empty; public string GroupName { get; set; } = string.Empty; public string RoundName { get; set; } = "正式成绩"; public int Rank { get; set; } public string TotalScore { get; set; } = string.Empty; public string? DifficultyScore { get; set; } public string? ExecutionScore { get; set; } public string? CreativityScore { get; set; } public string Status { get; set; } = "成绩有效"; public List JudgeScores { get; set; } = new(); } public class ScoreQueryOutput { public List Rows { get; set; } = new(); public int Total { get; set; } } public class RefereeApplyInput { [Required(ErrorMessage = "赛事ID不能为空")] public long EventId { get; set; } } public class RefereeApplicationDto { public long Id { get; set; } public long ApplicationId { get; set; } public long EventId { get; set; } public string EventName { get; set; } = string.Empty; public string? CoverImage { get; set; } public string? Address { get; set; } public int EventStatus { get; set; } public int ApplicationStatus { get; set; } public string ApplicationStatusText { get; set; } = string.Empty; public DateTime AppliedAt { get; set; } public DateTime MatchStartTime { get; set; } public DateTime MatchEndTime { get; set; } public string MatchStartText => MatchStartTime.ToString("yyyy-MM-dd HH:mm"); public string MatchEndText => MatchEndTime.ToString("yyyy-MM-dd HH:mm"); } public class RefereeApplicationListOutput { public List Rows { get; set; } = new(); public int Total { get; set; } } public class CheckinAthleteDto { public long Id { get; set; } public long UserId { get; set; } public string BibNo { get; set; } = string.Empty; public string Name { get; set; } = string.Empty; public string TeamName { get; set; } = string.Empty; public bool Checked { get; set; } public bool PreviousPassed { get; set; } = true; public bool CanCheck { get; set; } = true; public string LockReason { get; set; } = string.Empty; public string OrderBookSessionName { get; set; } = string.Empty; } public class CheckinContextDto { public long TaskId { get; set; } public long EventId { get; set; } public string EventName { get; set; } = string.Empty; public string Venue { get; set; } = string.Empty; public int TotalCheckins { get; set; } public int CurrentCheckinNo { get; set; } public string CurrentCheckinName { get; set; } = string.Empty; public int TotalSessions { get; set; } public int CurrentSessionOrder { get; set; } public string CurrentSessionKey { get; set; } = string.Empty; public string CurrentSessionName { get; set; } = string.Empty; public string CurrentSessionVenue { get; set; } = string.Empty; public string? NextSessionName { get; set; } public List Sessions { get; set; } = new(); public long SelectedEventProjectId { get; set; } public long SelectedGroupId { get; set; } public List Projects { get; set; } = new(); public List Units { get; set; } = new(); public List PendingUnits { get; set; } = new(); public List CheckedUnits { get; set; } = new(); public List LockedUnits { get; set; } = new(); // 以下字段保留给旧版小程序兼容,值映射自秩序册场次。 public int TotalRounds { get; set; } public int CurrentRound { get; set; } public string RoundName { get; set; } = string.Empty; public long? CurrentGroupId { get; set; } public string CurrentGroupName { get; set; } = string.Empty; public int GroupOrder { get; set; } public int TotalGroups { get; set; } public string? NextGroupName { get; set; } public List Rounds { get; set; } = new(); public List Athletes { get; set; } = new(); public List PendingAthletes { get; set; } = new(); public List CheckedAthletes { get; set; } = new(); public List LockedAthletes { get; set; } = new(); } public class UpdateCheckinStatusInput { [Required(ErrorMessage = "秩序册列标识不能为空")] public string UnitKey { get; set; } = string.Empty; public long EventProjectId { get; set; } public long GroupId { get; set; } public bool Checked { get; set; } } public class CheckinOrderBookUnitStatusDto : CheckinOrderBookUnitDto { public bool Checked { get; set; } public bool PreviousPassed { get; set; } = true; public bool CanCheck { get; set; } = true; public string LockReason { get; set; } = string.Empty; }