using System;
using System.Collections.Generic;
using GxPress.Entity.WorkProcessDto;
using GxPress.EnumConst;

namespace GxPress.Result.App.Flow
{
    /// <summary>
    /// 流程
    /// </summary>
    public class FlowResult
    {
        /// <summary>
        /// 流程Id
        /// </summary>
        public int ProcessId { get; set; }

        /// <summary>
        /// 头像地址
        /// </summary>
        public string AvatarUrl { get; set; }

        /// <summary>
        /// 用户名
        /// </summary>
        public string UserName { get; set; }

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

        /// <summary>
        /// 状态
        /// </summary>
        public FlowState State { get; set; }
        /// <summary>
        /// 主流程状态
        /// </summary>
        public FlowState FlowState { get; set; }
        /// <summary>
        /// 审批编号
        /// </summary>
        public string No { get; set; }

        /// <summary>
        /// 部门名称
        /// </summary>
        public string DepartmentName { get; set; }

        /// <summary>
        /// 添加时间
        /// </summary>
        public DateTime? CreatedDate { get; set; }

        /// <summary>
        /// 表单字段
        /// </summary>
        public List<FormField> FormFields { get; set; }

        /// <summary>
        /// 流程节点
        /// </summary>
        public List<NodeResult> Nodes { get; set; }

        /// <summary>
        /// 抄送人
        /// </summary>
        public string CarbonCopies { get; set; }

        /// <summary>
        /// 审批意见
        /// </summary>
        public List<MessageResult> CheckMessages { get; set; }

        /// <summary>
        /// 审核人列表
        /// </summary>
        public List<Entity.User> ApproverCheckUsers { get; set; }

        /// <summary>
        /// 抄送人列表
        /// </summary>
        public List<Entity.User> CarbonCopyUsers { get; set; }
        /// <summary>
        /// 流程名称
        /// </summary>
        /// <value></value>
        public string ProcessName { get; set; }
        /// <summary>
        /// 新版附件
        /// </summary>
        /// <value></value>
        public List<Entity.WorkFlow.FlowAttachment> FlowAttachments { get; set; }
        /// <summary>
        /// 创建者ID
        /// </summary>
        /// <value></value>
        public int UserId { get; set; }
    }
}
