YD_Event.Admin/YD_Event.Application/Client/Dtos/CompetitionClientDtos.cs

146 lines
5.5 KiB
C#
Raw Normal View History

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<JudgeScoreDto> JudgeScores { get; set; } = new();
}
public class ScoreQueryOutput
{
public List<ClientScoreDto> 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<RefereeApplicationDto> 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<CheckinSessionOptionDto> Sessions { get; set; } = new();
public long SelectedEventProjectId { get; set; }
public long SelectedGroupId { get; set; }
public List<CheckinProjectOptionDto> Projects { get; set; } = new();
public List<CheckinOrderBookUnitStatusDto> Units { get; set; } = new();
public List<CheckinOrderBookUnitStatusDto> PendingUnits { get; set; } = new();
public List<CheckinOrderBookUnitStatusDto> CheckedUnits { get; set; } = new();
public List<CheckinOrderBookUnitStatusDto> 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<CheckinRoundOptionDto> Rounds { get; set; } = new();
public List<CheckinAthleteDto> Athletes { get; set; } = new();
public List<CheckinAthleteDto> PendingAthletes { get; set; } = new();
public List<CheckinAthleteDto> CheckedAthletes { get; set; } = new();
public List<CheckinAthleteDto> 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;
}