paiban/NPP.SmartSchedue.Api.Contracts/Services/Time/Input/ShiftUnavailabilityUpdateInput.cs
Asoka.Wang 0a2e2d9b18 123
2025-09-02 18:52:35 +08:00

45 lines
1.2 KiB
C#

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