/// <summary> /// 第一步,统一入口,各种流程,请假流程,采购流程,调薪流程, /// </summary> /// <returns></returns> private static HzWorkFlowContext StartAppliaction() { System.Xaml.XamlXmlReaderSettings st = new System.Xaml.XamlXmlReaderSettings() { LocalAssembly = System.Reflection.Assembly.GetExecutingAssembly() }; System.Activities.Activity act = null; using (var reader = new System.Xaml.XamlXmlReader(workflowName, st)) { act = System.Activities.XamlIntegration.ActivityXamlServices.Load(reader); } HzWorkFlowContext context = new HzWorkFlowContext(); context.CreateDateTime = DateTime.Now; context.Creator = "eeroom"; //formdata由页面表单json提交而来,这里只是为了测试 context.FormData = Newtonsoft.Json.JsonConvert.SerializeObject(new QinJiaFormdata() { Category = 3, Days = 5 }); var dict = new Dictionary <string, object>(); //对应活动的入参 dict.Add("hzWorkFlowContext", context); var wfa = new System.Activities.WorkflowApplication(act, dict); ConfigWfa(wfa); wfa.Run(); return(context); }
//第一步以后,后续所有流程步骤的入口 private static void ApproveOp(bool op, Guid workflowId, HzWorkFlowContext hzwfContext) { System.Xaml.XamlXmlReaderSettings st = new System.Xaml.XamlXmlReaderSettings() { LocalAssembly = System.Reflection.Assembly.GetExecutingAssembly() }; System.Activities.Activity act = null; using (var reader = new System.Xaml.XamlXmlReader(workflowName, st)) { act = System.Activities.XamlIntegration.ActivityXamlServices.Load(reader); } var wfa = new System.Activities.WorkflowApplication(act); ConfigWfa(wfa); wfa.Load(workflowId); wfa.ResumeBookmark(bookmark, op); }
static void Main(string[] args) { //使用办法,每个参与人开一个控制台,登陆用户名,然后执行新的申请、代办任务、完成任务 while (true) { Console.WriteLine("1新的申请,2审批"); var cmd = Console.ReadLine(); if (cmd == "1") { hzwfContext = StartAppliaction(); } else if (cmd == "2") { Console.WriteLine("y通过,n驳回"); var op = Console.ReadLine(); ApproveOp(op == "y", workflowId, hzwfContext); } } }