using OpenAuth.App.Config;
using OpenAuth.Repository.Domain;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace OpenAuth.App
{
public interface IWFEngine
{
///
/// 开始节点
///
WFUnit StartNode { get; }
///
/// 流程运行参数
///
WFEngineConfig Config { get; }
///
/// 流程发起用户
///
WFUserInfo CreateUser { get; }
///
/// 流程配置信息
///
WorkFlow.WFScheme WFScheme { get; }
///
/// 获取流程单元信息
///
/// id
/// 流程单元信息
WFUnit GetNode(string id);
///
/// 获取下一节点集合
///
/// 开始节点
/// 执行动作编码
///
List GetNextUnits(string startId, string code = "");
///
/// 获取任务
///
/// 开始节点
/// 执行动作编码
/// 下一个指定节点
///
Task> GetTask(string startId, string code = "", string toUnitId = "");
}
}