using YD_Event.Core.Enum;
namespace YD_Event.Core.Entities;
///
/// 赛事裁判分配表
///
[SugarTable("EventJudgeAssignment")]
public class EventJudgeAssignment : Entity, ISoftDelete, ICreatedUserId, ICreatedTime, IUpdatedUserId, IUpdatedTime, IAvailability
{
///
/// 关联的赛事ID
///
public long EventId { get; set; }
///
/// 关联的比赛场次ID
///
public long SessionId { get; set; }
///
/// 关联的赛事裁判记录ID
///
public long EventRefereeId { get; set; }
///
/// 关联的裁判档案ID(兼容历史查询的冗余字段)
///
public long RefereeId { get; set; }
///
/// 关联的小程序用户ID(裁判尚未注册小程序账号时为空)
///
[SugarColumn(IsNullable = true)]
public long? JudgeUserId { get; set; }
///
/// 裁判席位编码(取自计分规则的裁判席位配置,如 T、DP1、P)
///
[SugarColumn(Length = 32)]
public string JudgeRole { get; set; } = null!;
///
/// 裁判角色类别编码(如 DP、DM、DR、P、T)
///
[SugarColumn(Length = 16, IsNullable = true)]
public string? JudgeRoleType { get; set; }
///
/// 分配状态:0-草稿,1-已提交,2-已替换,9-已停用
///
public int AssignmentStatus { get; set; }
///
/// 提交时间
///
[SugarColumn(IsNullable = true)]
public DateTime? SubmittedTime { get; set; }
///
/// 备注
///
[SugarColumn(Length = 512, IsNullable = true)]
public string? Remark { get; set; }
///
/// 可用状态
///
public AvailabilityStatus Status { get; set; } = AvailabilityStatus.Enable;
///
/// 标记删除
///
public bool DeleteMark { get; set; }
///
/// 创建人
///
public long CreatedUserId { get; set; }
///
/// 创建时间
///
public DateTime CreatedTime { get; set; }
///
/// 更新人
///
[SugarColumn(IsNullable = true)]
public long? UpdatedUserId { get; set; }
///
/// 更新时间
///
[SugarColumn(IsNullable = true)]
public DateTime? UpdatedTime { get; set; }
}