using APT.BaseData.Domain.Entities;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
namespace APT.BaseData.Domain.ApiModel
{
	public class SendFlowBaseParam
	{
		public SendFlowBaseParam()
		{
			this.Description = string.Empty;
		}
		public string CustomName { get; set; }
		public string Description { get; set; }
		public Guid? OrgId { get; set; }
		/// 
		/// 实体类型 参考PFCodeRuleType
		/// 
		public int EntityType { get; set; }
		/// 
		/// 送审人员ID
		/// 
		public string UserId { get; set; }
		/// 
		/// 送人员名称
		/// 
		public string UserName { get; set; }
	}
	public class SendFlowParam: SendFlowBaseParam
	{
		public Guid FlowSchemeId { get; set; }
		public Guid EntityId { get; set; }
	}
	public class SendFlowEntityParam: SendFlowBaseParam
	{
		public string FlowCode { get; set; }
		public T Entity { get; set; }
		public T_PF_FLOW_SCHEME FlowScheme { get; set; }
	}
	public class SendFlowResult
	{
		public T Entity { get; set; }
		public T_PF_FLOW_INSTANCE FlowInstance { get; set; }
		public T_PF_FLOW_INSTANCE_OPER_HIS FlowInstanceOperationHistory { get; set; }
		public T_PF_FLOW_INSTANCE_TRANS_HIS FlowInstanceTransitionHistory { get; set; }
	}
	public class PermitFlowParam
	{
		public PermitFlowParam()
		{
			this.Description = string.Empty;
		}
		public Guid FlowId { get; set; }
		public int PermitStatus { get; set; }
		public string Description { get; set; }
		public string NodeRejectStep { get; set; }
		public string UserId { get; set; }
		public string UserName { get; set; }
	}
	public class VerificationPassBatchReq
	{
		/// 
		/// ID列表
		/// 
		public string Ids { get; set; }
		/// 
		/// 用户ID
		/// 
		public string UserId { get; set; }
		/// 
		/// 用户名称
		/// 
		public string UserName { get; set; }
	}
	public class VerificationReq
	{
		public string FlowInstanceId { get; set; }
		/// 
		/// 1:同意;2:不同意;3:驳回
		/// 
		public string VerificationFinally { get; set; }
		/// 
		/// 审核意见
		/// 
		public string VerificationOpinion { get; set; }
		/// 
		/// 驳回的步骤,即驳回到的节点ID
		/// 
		public string NodeRejectStep { get; set; }
		/// 
		/// 用户ID
		/// 
		public string UserId { get; set; }
		/// 
		/// 用户名称
		/// 
		public string UserName { get; set; }
	}
	public class FlowResponseBase
	{
		public T_PF_FORM Form { get; set; }
	}
	public class FlowResponse : FlowResponseBase
	{
		public T_PF_FLOW_INSTANCE Flow { get; set; }
		public dynamic Entity { get; set; }
		public List OperationHistorys { get; set; }
	}
	public class FlowSchemeResponse : FlowResponseBase
	{
		public T_PF_FLOW_SCHEME Scheme { get; set; }
	}
}