using System; using System.ComponentModel.DataAnnotations; using NPP.SmartSchedue.Api.Contracts.Core.Enums; namespace NPP.SmartSchedue.Api.Contracts.Services.Time.Input; /// /// 更新班次不可用标记输入模型 /// public class ShiftUnavailabilityUpdateInput { /// /// 记录ID /// [Required(ErrorMessage = "记录ID不能为空")] public long Id { get; set; } /// /// 不可用原因类型 /// [Required(ErrorMessage = "原因类型不能为空")] public UnavailabilityReasonType ReasonType { get; set; } /// /// 备注说明 /// [StringLength(500, ErrorMessage = "备注长度不能超过500字符")] public string Remark { get; set; } /// /// 优先级权重 /// [Range(1, 100, ErrorMessage = "优先级权重必须在1-100之间")] public int Priority { get; set; } = 1; /// /// 生效开始时间(可选) /// public TimeSpan? EffectiveStartTime { get; set; } /// /// 生效结束时间(可选) /// public TimeSpan? EffectiveEndTime { get; set; } }