157 lines
5.7 KiB
C#
157 lines
5.7 KiB
C#
namespace YD_Event.Application.Client.Dtos;
|
|
|
|
public class CheckinGroupOptionDto
|
|
{
|
|
public long Id { get; set; }
|
|
public long EventProjectId { get; set; }
|
|
public long ProjectId { get; set; }
|
|
public string ProjectName { get; set; } = string.Empty;
|
|
public string GroupName { get; set; } = string.Empty;
|
|
public int Order { get; set; }
|
|
public int TotalUnits { get; set; }
|
|
public int CheckedUnits { get; set; }
|
|
public int LockedUnits { get; set; }
|
|
public int ProgressPercent { get; set; }
|
|
public bool IsCompleted { get; set; }
|
|
}
|
|
|
|
public class CheckinProjectOptionDto
|
|
{
|
|
public long EventProjectId { get; set; }
|
|
public long ProjectId { get; set; }
|
|
public string ProjectName { get; set; } = string.Empty;
|
|
public int Order { get; set; }
|
|
public List<CheckinGroupOptionDto> Groups { get; set; } = new();
|
|
public int TotalUnits { get; set; }
|
|
public int CheckedUnits { get; set; }
|
|
public int LockedUnits { get; set; }
|
|
public int ProgressPercent { get; set; }
|
|
public bool IsCompleted { get; set; }
|
|
}
|
|
|
|
/// <summary>秩序册中的一列;团队项目的一列可以包含多名运动员。</summary>
|
|
public class CheckinOrderBookUnitDto
|
|
{
|
|
public string UnitKey { get; set; } = string.Empty;
|
|
public int Order { get; set; }
|
|
public int SessionIndex { get; set; }
|
|
public int VenueIndex { get; set; }
|
|
public string VenueName { get; set; } = string.Empty;
|
|
public long EventProjectId { get; set; }
|
|
public long ProjectId { get; set; }
|
|
public string ProjectName { get; set; } = string.Empty;
|
|
public long? GroupId { get; set; }
|
|
public string GroupName { get; set; } = string.Empty;
|
|
public long RegistrationItemId { get; set; }
|
|
public string TeamName { get; set; } = string.Empty;
|
|
public string UnitName { get; set; } = string.Empty;
|
|
public List<long> RegistrationPersonIds { get; set; } = new();
|
|
public List<CheckinAthleteDto> Athletes { get; set; } = new();
|
|
}
|
|
|
|
public class CheckinRoundOptionDto
|
|
{
|
|
public int Round { get; set; }
|
|
public string RoundName { get; set; } = string.Empty;
|
|
public List<CheckinGroupOptionDto> Groups { get; set; } = new();
|
|
}
|
|
|
|
public class CheckinEventOptionsDto
|
|
{
|
|
public long EventId { get; set; }
|
|
public string EventName { get; set; } = string.Empty;
|
|
public List<CheckinSessionOptionDto> Sessions { get; set; } = new();
|
|
public List<CheckinProjectOptionDto> Projects { get; set; } = new();
|
|
public List<CheckinOrderBookUnitDto> Units { get; set; } = new();
|
|
public int MaxCheckers { get; set; } = 3;
|
|
public List<int> AssignedCheckinNumbers { get; set; } = new();
|
|
public int NextCheckinNo { get; set; } = 1;
|
|
|
|
// 兼容旧版小程序字段;场次检录启用后不再作为数据源。
|
|
public List<CheckinRoundOptionDto> Rounds { get; set; } = new();
|
|
}
|
|
|
|
public class CheckinSessionOptionDto
|
|
{
|
|
public string SessionKey { get; set; } = string.Empty;
|
|
public int Order { get; set; }
|
|
public int SessionIndex { get; set; }
|
|
public long EventProjectId { get; set; }
|
|
public long ProjectId { get; set; }
|
|
public string ProjectName { get; set; } = string.Empty;
|
|
public string SessionName { get; set; } = string.Empty;
|
|
public string GroupName { get; set; } = string.Empty;
|
|
public string VenueName { get; set; } = string.Empty;
|
|
public List<long> GroupIds { get; set; } = new();
|
|
public List<long> RegistrationPersonIds { get; set; } = new();
|
|
}
|
|
|
|
public class SaveCheckerInput
|
|
{
|
|
public long? CheckerUserId { get; set; }
|
|
|
|
[Required(ErrorMessage = "赛事ID不能为空")]
|
|
public long EventId { get; set; }
|
|
|
|
[Required(ErrorMessage = "姓名不能为空")]
|
|
public string Name { get; set; } = string.Empty;
|
|
|
|
[Required(ErrorMessage = "手机号不能为空")]
|
|
[RegularExpression(@"^1[3-9]\d{9}$", ErrorMessage = "手机号格式不正确")]
|
|
public string Mobile { get; set; } = string.Empty;
|
|
|
|
public int CheckinNo { get; set; }
|
|
|
|
public string? Password { get; set; }
|
|
public string? CurrentSessionKey { get; set; }
|
|
public int? CurrentRound { get; set; }
|
|
public long? CurrentGroupId { get; set; }
|
|
public string? Venue { get; set; }
|
|
}
|
|
|
|
public class UpdateCheckinProgressInput
|
|
{
|
|
[Required(ErrorMessage = "任务ID不能为空")]
|
|
public long TaskId { get; set; }
|
|
|
|
public long EventProjectId { get; set; }
|
|
public long GroupId { get; set; }
|
|
}
|
|
|
|
public class UnbindCheckerInput
|
|
{
|
|
[Required(ErrorMessage = "任务ID不能为空")]
|
|
public long TaskId { get; set; }
|
|
}
|
|
|
|
public class CheckinCheckerDto
|
|
{
|
|
public long CheckerUserId { get; set; }
|
|
public string Name { get; set; } = string.Empty;
|
|
public string Mobile { get; set; } = string.Empty;
|
|
public int CheckinNo { get; set; }
|
|
public long TaskId { get; set; }
|
|
public long EventId { get; set; }
|
|
public string EventName { get; set; } = string.Empty;
|
|
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 string Venue { get; set; } = string.Empty;
|
|
public string CurrentSessionKey { get; set; } = string.Empty;
|
|
public int CurrentSessionOrder { get; set; }
|
|
public string CurrentSessionName { get; set; } = string.Empty;
|
|
public string CurrentSessionVenue { get; set; } = string.Empty;
|
|
public int TaskStatus { get; set; }
|
|
public DateTime CreatedTime { get; set; }
|
|
}
|
|
|
|
public class CheckerAccountAvailabilityDto
|
|
{
|
|
public bool Available { get; set; }
|
|
public string Message { get; set; } = string.Empty;
|
|
public bool ExistingChecker { get; set; }
|
|
public long? CheckerUserId { get; set; }
|
|
public string CheckerName { get; set; } = string.Empty;
|
|
}
|