Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        //第一步以后,后续所有流程步骤的入口
        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);
        }
Ejemplo n.º 3
0
 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);
         }
     }
 }