using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace wispro.sp.entity.workflowDefine
{
    public class Workflow
    {
        /// <summary>
        /// 流程编号
        /// </summary>
        public int Id { get; set; }

        /// <summary>
        /// 流程名称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 绑定对象类型
        /// </summary>
        public string ContentObjectType { get; set; }

        /// <summary>
        /// 初始化Action Id
        /// 定义初始化流程的输入参数、UI等
        /// </summary>
        public int InitActionId { get; set; }

        /// <summary>
        /// 初始化Action
        /// </summary>
        public Action InitAction { get; set; }

        /// <summary>
        /// 结束步骤Id
        /// 每个流程都有一个结束步骤，结束步骤只是一个标志，
        /// 不能做任何操作
        /// </summary>
        public int? EndStepId { get; set; }

        /// <summary>
        /// 创建日期
        /// </summary>
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 创建人
        /// </summary>
        public Staff CreateUser { get; set; }

        /// <summary>
        /// 创建人Id
        /// </summary>
        public int CreateUserId { get; set; }

        /// <summary>
        /// 生效日期
        /// </summary>
        public DateTime EffectivrDate { get; set; } = DateTime.Now;

        /// <summary>
        /// 失效日期
        /// </summary>
        public DateTime? ExpirationDate { get; set; }

        /// <summary>
        /// 说明
        /// </summary>
        public string Memo { get; set; }
    }
}
