using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;

namespace NPP.SmartSchedue.Api.Contracts.Services.Work.Input;

/// <summary>
/// 批量添加工作任务输入模型
/// </summary>
public class BatchWorkOrderAddInput
{
    /// <summary>
    /// 工作任务列表
    /// </summary>
    [Required(ErrorMessage = "工作任务列表不能为空")]
    public List<WorkOrderAddInput> WorkOrders { get; set; } = new List<WorkOrderAddInput>();

    /// <summary>
    /// 是否验证冲突
    /// </summary>
    public bool ValidateConflicts { get; set; } = true;

    /// <summary>
    /// 失败时是否回滚
    /// </summary>
    public bool RollbackOnFailure { get; set; } = true;

    /// <summary>
    /// 批量处理策略
    /// </summary>
    public string BatchStrategy { get; set; } = "sequential";

    /// <summary>
    /// 批量操作说明
    /// </summary>
    public string BatchNote { get; set; }

    /// <summary>
    /// 是否跳过重复任务
    /// </summary>
    public bool SkipDuplicates { get; set; } = false;
}