using System.Collections.Generic;

namespace NPP.SmartSchedue.Api.Contracts.Services.Integration.Input
{
    /// <summary>
    /// 批量操作类型
    /// </summary>
    public enum BatchOperationType
    {
        /// <summary>
        /// 批量修改
        /// </summary>
        BatchModify = 1,

        /// <summary>
        /// 批量删除
        /// </summary>
        BatchDelete = 2,

        /// <summary>
        /// 批量取消
        /// </summary>
        BatchCancel = 3
    }

    /// <summary>
    /// 批量任务操作输入
    /// </summary>
    public class BatchWorkOrderOperationInput
    {
        /// <summary>
        /// 操作类型
        /// </summary>
        public BatchOperationType OperationType { get; set; }

        /// <summary>
        /// 任务ID列表
        /// </summary>
        public List<long> TaskIds { get; set; } = new List<long>();

        /// <summary>
        /// 操作参数（根据操作类型不同，内容不同）
        /// </summary>
        public object OperationParameters { get; set; }

        /// <summary>
        /// 操作员用户ID
        /// </summary>
        public long OperatorUserId { get; set; }

        /// <summary>
        /// 操作员姓名
        /// </summary>
        public string OperatorName { get; set; }

        /// <summary>
        /// 操作备注
        /// </summary>
        public string Remarks { get; set; } = string.Empty;
    }
}