コード例 #1
0
 public HumanEscalationResumption(Process process, DateTime? at, HumanActivityInstance humanActivityInstance)
     : base(process, WaitingResumption.MaxPriority, at)
 {
     this.HumanActivityInstance = humanActivityInstance;
     if (this.HumanActivityInstance == null)
         throw new InvalidOperationException("HumanActivityInstance不能为空");
 }
コード例 #2
0
        private void Init(HumanActivityInstance humanActivityInstance)
        {
            this.HumanActivityInstance = humanActivityInstance;

            if (this.HumanActivityInstance == null)
                throw new InvalidOperationException("HumanActivityInstance不能为空");
        }
コード例 #3
0
        public void WorkItemCreateResumption()
        {
            var process = this.Prepare();

            //由于创建时会产生ProcessStart,应先取消不必要的调度请求
            this._resumptionService.CancelAll(process);

            TestHelper.ChangeProcessStatus(process, ProcessStatus.Running);
            var h = new HumanActivityInstance(process.ID, 0, 1, "节点1", "1", new string[] { "houkun" });

            this._processService.CreateActivityInstance(h);
            var r = new WorkItemCreateResumption(process, h);

            this._resumptionService.Add(r);

            //执行人工任务创建调度
            this._scheduler.Resume(r);
            this.AssertExecutedResumption(r);

            this.Evict(process);
            var process2 = this._processService.GetProcess(process.ID);

            //任务数=1
            Assert.AreEqual(1, this._workItemService.GetWorkItems(process2).Count());
            Assert.AreEqual("节点1", this._workItemService.GetWorkItems(process2).First().ActivityName);
            Assert.AreEqual("houkun", this._workItemService.GetWorkItems(process2).First().Actioner.UserName);
        }
コード例 #4
0
        public void Get()
        {
            var p         = this.CreateProcess(USER, TYPENAME);
            var type      = this._processTypeService.GetProcessType(TYPENAME);
            var user      = this._userService.GetUserWhatever(USER);
            var instance1 = new HumanActivityInstance(p.ID, 1, 1, "审批1", "1", new string[] { "houkun" });
            var instance2 = new HumanActivityInstance(p.ID, 1, 1, "审批2", "1", new string[] { "houkun" });

            this._processService.CreateActivityInstance(instance1);
            this._processService.CreateActivityInstance(instance2);

            this._workItemService.Create(new WorkItem(user, p, instance1));
            this._workItemService.Create(new WorkItem(user, p, instance1));
            this._workItemService.Create(new WorkItem(user, p, instance2));

            Assert.AreEqual(3, this._workItemService.GetWorkItems(user).Count());
            Assert.AreEqual(3, this._workItemService.GetWorkItems(user, p, null).Count());
            Assert.AreEqual(2, this._workItemService.GetWorkItems(user, p, "审批1").Count());

            //facade

            Assert.AreEqual(3, this._managementApi.GetWorkItems(USER).Length);
            Assert.AreEqual(3, this._managementApi.GetWorkItemsByProcess(USER, p.ID, null).Length);
            Assert.AreEqual(2, this._managementApi.GetWorkItemsByProcess(USER, p.ID, "审批1").Length);
            _log.Info(this._managementApi.GetAllWorkItemsByType(TYPENAME).Length);
        }
コード例 #5
0
ファイル: WorkItemTest.cs プロジェクト: jatinbhole/NTFE-BPM
        public void Get()
        {
            var p = this.CreateProcess(USER, TYPENAME);
            var type = this._processTypeService.GetProcessType(TYPENAME);
            var user = this._userService.GetUserWhatever(USER);
            var instance1 = new HumanActivityInstance(p.ID, 1, 1, "审批1", "1", new string[] { "houkun" });
            var instance2 = new HumanActivityInstance(p.ID, 1, 1, "审批2", "1", new string[] { "houkun" });

            this._processService.CreateActivityInstance(instance1);
            this._processService.CreateActivityInstance(instance2);

            this._workItemService.Create(new WorkItem(user, p, instance1));
            this._workItemService.Create(new WorkItem(user, p, instance1));
            this._workItemService.Create(new WorkItem(user, p, instance2));

            Assert.AreEqual(3, this._workItemService.GetWorkItems(user).Count());
            Assert.AreEqual(3, this._workItemService.GetWorkItems(user, p, null).Count());
            Assert.AreEqual(2, this._workItemService.GetWorkItems(user, p, "审批1").Count());

            //facade

            Assert.AreEqual(3, this._managementApi.GetWorkItems(USER).Length);
            Assert.AreEqual(3, this._managementApi.GetWorkItemsByProcess(USER, p.ID, null).Length);
            Assert.AreEqual(2, this._managementApi.GetWorkItemsByProcess(USER, p.ID, "审批1").Length);
            _log.Info(this._managementApi.GetAllWorkItemsByType(TYPENAME).Length);
        }
コード例 #6
0
 private Client.ActivityInstance Parse(HumanActivityInstance instance)
 {
     return(new Client.ActivityInstance()
     {
         ActivityName = instance.ActivityName,
         CreateTime = instance.CreateTime
     });
 }
コード例 #7
0
 public HumanEscalationResumption(Process process, DateTime?at, HumanActivityInstance humanActivityInstance)
     : base(process, WaitingResumption.MaxPriority, at)
 {
     this.HumanActivityInstance = humanActivityInstance;
     if (this.HumanActivityInstance == null)
     {
         throw new InvalidOperationException("HumanActivityInstance不能为空");
     }
 }
コード例 #8
0
        private void Init(HumanActivityInstance humanActivityInstance)
        {
            this.HumanActivityInstance = humanActivityInstance;

            if (this.HumanActivityInstance == null)
            {
                throw new InvalidOperationException("HumanActivityInstance不能为空");
            }
        }
コード例 #9
0
        public void GetActivityInstanceByWorkflowActivityInstanceId()
        {
            var process = this.CreateProcess();
            var instance = new HumanActivityInstance(process.ID, 0, 1, "人工节点", "bookmark", new string[] { "houkun", "xiaoxuan" });
            this._processService.CreateActivityInstance(instance);

            var instance2 = this._processService.GetActivityInstanceByWorkflowActivityInstanceId(process, 1);
            Assert.IsNotNull(instance2);
            Assert.IsInstanceOf<HumanActivityInstance>(instance2);
            Assert.AreEqual(instance.ID, instance2.ID);
        }
コード例 #10
0
        public void Release()
        {
            var type = new ProcessType("ReleaseSlotTest"
                                       , new ProcessType.WorkflowDefinition("")
                                       , new HumanSetting(0
                                                          , "节点1"
                                                          , new string[] { "同意" }
                                                          , 2//slot=2
                                                          , HumanSetting.SlotDistributionMode.AllAtOnce
                                                          , ""
                                                          , null
                                                          , new HumanActionerRule("originator")
                                                          , null
                                                          , null
                                                          , false))
            {
                Group = "test"
            };

            this._processTypeService.Create(type);
            var user = this._userService.GetUserWhatever(USER);

            var p = new Process("release slot test", type, user);

            this._processService.Create(p);
            var instance = new HumanActivityInstance(p.ID, 0, 1, "节点1", "bookmark", new string[] { user.UserName });

            this._processService.CreateActivityInstance(instance);

            //置为open
            var w1 = new WorkItem(user, p, instance);

            TestHelper.ChangeWorkItemStatus(w1, WorkItemStatus.Open);
            var w2 = new WorkItem(user, p, instance);

            TestHelper.ChangeWorkItemStatus(w2, WorkItemStatus.Open);
            //置为没有slot
            var w3 = new WorkItem(user, p, instance);

            TestHelper.ChangeWorkItemStatus(w3, WorkItemStatus.NoSlot);

            this._workItemService.Create(w1);
            this._workItemService.Create(w2);
            this._workItemService.Create(w3);

            //释放
            this._workItemService.Release(w1);
            //释放后w3应为New状态
            Assert.AreEqual(WorkItemStatus.New, this._workItemService.GetWorkItem(w3.ID).Status);
            //w1为New
            Assert.AreEqual(WorkItemStatus.New, this._workItemService.GetWorkItem(w1.ID).Status);
            //w2没有影响
            Assert.AreEqual(WorkItemStatus.Open, this._workItemService.GetWorkItem(w2.ID).Status);
        }
コード例 #11
0
        public void Human()
        {
            var instance = new HumanActivityInstance(Guid.NewGuid(), 0, 1, "人工节点", "bookmark", new string[] { "houkun", "xiaoxuan" });
            this._processService.CreateActivityInstance(instance);
            Assert.AreNotEqual(0, instance.ID);
            //TODO:对私有方法进行断言
            this.Evict(instance);

            var instance2 = this._processService.GetActivityInstance(instance.ID);
            Assert.IsNotNull(instance2);
            Assert.IsInstanceOf<HumanActivityInstance>(instance2);
        }
コード例 #12
0
        public void Open_SlotLessThanActioner()
        {
            var type = new ProcessType("SlotTest"
                                       , new ProcessType.WorkflowDefinition("")
                                       , new HumanSetting(0
                                                          , "节点1"
                                                          , new string[] { "同意" }
                                                          , 2//slot=2
                                                          , HumanSetting.SlotDistributionMode.AllAtOnce
                                                          , ""
                                                          , null
                                                          , new HumanActionerRule("originator")
                                                          , null
                                                          , null
                                                          , false))
            {
                Group = "test"
            };

            this._processTypeService.Create(type);
            var user = this._userService.GetUserWhatever(USER);

            var p = new Process("slot test", type, user);

            this._processService.Create(p);
            var instance = new HumanActivityInstance(p.ID, 0, 1, "节点1", "bookmark", new string[] { user.UserName });

            this._processService.CreateActivityInstance(instance);

            var w1 = new WorkItem(user, p, instance);
            var w2 = new WorkItem(user, p, instance);
            var w3 = new WorkItem(user, p, instance);

            this._workItemService.Create(w1);
            this._workItemService.Create(w2);
            this._workItemService.Create(w3);

            Assert.AreEqual(WorkItemStatus.Open, this._workItemService.Open(w1.ID, user).Status);
            Assert.AreEqual(WorkItemStatus.Open, this._workItemService.Open(w2.ID, user).Status);

            try
            {
                this._workItemService.Open(w3.ID, user);
                Assert.IsTrue(false);
            }
            catch (Exception e)
            {
                _log.Info(e.Message);
            }

            Assert.IsNull(this._workItemService.GetWorkItem(w3.ID));
        }
コード例 #13
0
        public void GetActivityInstanceByWorkflowActivityInstanceId()
        {
            var process  = this.CreateProcess();
            var instance = new HumanActivityInstance(process.ID, 0, 1, "人工节点", "bookmark", new string[] { "houkun", "xiaoxuan" });

            this._processService.CreateActivityInstance(instance);

            var instance2 = this._processService.GetActivityInstanceByWorkflowActivityInstanceId(process, 1);

            Assert.IsNotNull(instance2);
            Assert.IsInstanceOf <HumanActivityInstance>(instance2);
            Assert.AreEqual(instance.ID, instance2.ID);
        }
コード例 #14
0
        public void Human()
        {
            var instance = new HumanActivityInstance(Guid.NewGuid(), 0, 1, "人工节点", "bookmark", new string[] { "houkun", "xiaoxuan" });

            this._processService.CreateActivityInstance(instance);
            Assert.AreNotEqual(0, instance.ID);
            //TODO:对私有方法进行断言
            this.Evict(instance);

            var instance2 = this._processService.GetActivityInstance(instance.ID);

            Assert.IsNotNull(instance2);
            Assert.IsInstanceOf <HumanActivityInstance>(instance2);
        }
コード例 #15
0
 public ActivityInstanceArgs(HumanActivityInstance instance, Process process)
 {
     this.Instance = instance;
     this.Process = process;
 }
コード例 #16
0
 /// <summary>
 /// 初始化任务待创建请求记录
 /// </summary>
 /// <param name="process"></param>
 /// <param name="humanActivityInstance"></param>
 public WorkItemCreateResumption(Process process, HumanActivityInstance humanActivityInstance)
     : base(process, WaitingResumption.MaxPriority)
 {
     this.Init(humanActivityInstance);
 }
コード例 #17
0
ファイル: WorkItemTest.cs プロジェクト: jatinbhole/NTFE-BPM
        public void Release()
        {
            var type = new ProcessType("ReleaseSlotTest"
                  , new ProcessType.WorkflowDefinition("")
                  , new HumanSetting(0
                      , "节点1"
                      , new string[] { "同意" }
                      , 2//slot=2
                      , HumanSetting.SlotDistributionMode.AllAtOnce
                      , ""
                      , null
                      , new HumanActionerRule("originator")
                      , null
                      , null
                      , false)) { Group = "test" };
            this._processTypeService.Create(type);
            var user = this._userService.GetUserWhatever(USER);

            var p = new Process("release slot test", type, user);
            this._processService.Create(p);
            var instance = new HumanActivityInstance(p.ID, 0, 1, "节点1", "bookmark", new string[] { user.UserName });

            this._processService.CreateActivityInstance(instance);

            //置为open
            var w1 = new WorkItem(user, p, instance);
            TestHelper.ChangeWorkItemStatus(w1, WorkItemStatus.Open);
            var w2 = new WorkItem(user, p, instance);
            TestHelper.ChangeWorkItemStatus(w2, WorkItemStatus.Open);
            //置为没有slot
            var w3 = new WorkItem(user, p, instance);
            TestHelper.ChangeWorkItemStatus(w3, WorkItemStatus.NoSlot);

            this._workItemService.Create(w1);
            this._workItemService.Create(w2);
            this._workItemService.Create(w3);

            //释放
            this._workItemService.Release(w1);
            //释放后w3应为New状态
            Assert.AreEqual(WorkItemStatus.New, this._workItemService.GetWorkItem(w3.ID).Status);
            //w1为New
            Assert.AreEqual(WorkItemStatus.New, this._workItemService.GetWorkItem(w1.ID).Status);
            //w2没有影响
            Assert.AreEqual(WorkItemStatus.Open, this._workItemService.GetWorkItem(w2.ID).Status);
        }
コード例 #18
0
ファイル: WorkItemTest.cs プロジェクト: jatinbhole/NTFE-BPM
        private void Execute(int slotCount, string rule, bool open)
        {
            #region 准备数据
            var type = new ProcessType("ConcurrentTest"
                , new ProcessType.WorkflowDefinition("")
                , new HumanSetting(0
                    , "节点1"
                    , new string[] { "同意" }
                    , slotCount
                    , HumanSetting.SlotDistributionMode.AllAtOnce
                    , ""
                    , null
                    , new HumanActionerRule("originator")
                //,null
                    , new FinishRule(new Dictionary<string, string>() { { "ok", rule } })
                    , null
                    , false)) { Group = "test" };
            this._processTypeService.Create(type);
            var user = this._userService.GetUserWhatever(USER);

            var p = new Process("ConcurrentTest", type, user);
            this._processService.Create(p);
            var instance1 = new HumanActivityInstance(p.ID, 0, 1, "节点1", "bookmark", new string[] { user.UserName });
            var instance2 = new HumanActivityInstance(p.ID, 0, 2, "节点1", "bookmark", new string[] { user.UserName });
            this._processService.CreateActivityInstance(instance1);
            this._processService.CreateActivityInstance(instance2);
            #endregion

            #region 创建任务
            var list = new List<WorkItem>();
            while (list.Count < 20)
            {
                var w1 = new WorkItem(user, p, instance1);
                this._workItemService.Create(w1);
                list.Add(w1);

                //var w2 = new WorkItem(user, p, instance2);
                //this._workItemService.Create(w2);
                //list.Add(w2);
            }
            #endregion

            var count = 0;

            var w = new Stopwatch();
            w.Start();

            if (open)
            {
                #region open
                list.AsParallel().ForAll(o =>
                {
                    try
                    {
                        this._workItemService.Open(o.ID, user);
                        Interlocked.Increment(ref count);
                    }
                    catch (Exception e)
                    {
                        _log.Info(e.Message);
                    }
                });
                #endregion
            }
            else
            {
                #region execute
                list.AsParallel().ForAll(o =>
                {
                    try
                    {
                        this._workItemService.Execute(o.ID, user, "同意", null);
                        Interlocked.Increment(ref count);
                    }
                    catch (Exception e)
                    {
                        _log.Info(e.Message);
                    }
                });
                #endregion
            }

            w.Stop();

            if (open && slotCount != 0)
                Assert.AreEqual(slotCount, count);
            else if (slotCount != 0)
                Assert.AreEqual(slotCount / 2, count);

            Trace.WriteLine(string.Format("执行[{0}]数量={1}|耗时={2}|平均={3}次/s|平均={4}ms/次"
                , open ? "open" : "execute"
                , list.Count
                , w.ElapsedMilliseconds
                , ((double)list.Count / (double)w.ElapsedMilliseconds) * 1000
                , (double)w.ElapsedMilliseconds / (double)list.Count));
        }
コード例 #19
0
ファイル: WorkItemTest.cs プロジェクト: jatinbhole/NTFE-BPM
        public void Open_SlotLessThanActioner()
        {
            var type = new ProcessType("SlotTest"
                , new ProcessType.WorkflowDefinition("")
                , new HumanSetting(0
                    , "节点1"
                    , new string[] { "同意" }
                    , 2//slot=2
                    , HumanSetting.SlotDistributionMode.AllAtOnce
                    , ""
                    , null
                    , new HumanActionerRule("originator")
                    , null
                    , null
                    , false)) { Group = "test" };
            this._processTypeService.Create(type);
            var user = this._userService.GetUserWhatever(USER);

            var p = new Process("slot test", type, user);
            this._processService.Create(p);
            var instance = new HumanActivityInstance(p.ID, 0, 1, "节点1", "bookmark", new string[] { user.UserName });

            this._processService.CreateActivityInstance(instance);

            var w1 = new WorkItem(user, p, instance);
            var w2 = new WorkItem(user, p, instance);
            var w3 = new WorkItem(user, p, instance);
            this._workItemService.Create(w1);
            this._workItemService.Create(w2);
            this._workItemService.Create(w3);

            Assert.AreEqual(WorkItemStatus.Open, this._workItemService.Open(w1.ID, user).Status);
            Assert.AreEqual(WorkItemStatus.Open, this._workItemService.Open(w2.ID, user).Status);

            try
            {
                this._workItemService.Open(w3.ID, user);
                Assert.IsTrue(false);
            }
            catch (Exception e)
            {
                _log.Info(e.Message);
            }

            Assert.IsNull(this._workItemService.GetWorkItem(w3.ID));
        }
コード例 #20
0
        private void Execute(int slotCount, string rule, bool open)
        {
            #region 准备数据
            var type = new ProcessType("ConcurrentTest"
                                       , new ProcessType.WorkflowDefinition("")
                                       , new HumanSetting(0
                                                          , "节点1"
                                                          , new string[] { "同意" }
                                                          , slotCount
                                                          , HumanSetting.SlotDistributionMode.AllAtOnce
                                                          , ""
                                                          , null
                                                          , new HumanActionerRule("originator")
                                                          //,null
                                                          , new FinishRule(new Dictionary <string, string>()
            {
                { "ok", rule }
            })
                                                          , null
                                                          , false))
            {
                Group = "test"
            };
            this._processTypeService.Create(type);
            var user = this._userService.GetUserWhatever(USER);

            var p = new Process("ConcurrentTest", type, user);
            this._processService.Create(p);
            var instance1 = new HumanActivityInstance(p.ID, 0, 1, "节点1", "bookmark", new string[] { user.UserName });
            var instance2 = new HumanActivityInstance(p.ID, 0, 2, "节点1", "bookmark", new string[] { user.UserName });
            this._processService.CreateActivityInstance(instance1);
            this._processService.CreateActivityInstance(instance2);
            #endregion

            #region 创建任务
            var list = new List <WorkItem>();
            while (list.Count < 20)
            {
                var w1 = new WorkItem(user, p, instance1);
                this._workItemService.Create(w1);
                list.Add(w1);

                //var w2 = new WorkItem(user, p, instance2);
                //this._workItemService.Create(w2);
                //list.Add(w2);
            }
            #endregion

            var count = 0;

            var w = new Stopwatch();
            w.Start();

            if (open)
            {
                #region open
                list.AsParallel().ForAll(o =>
                {
                    try
                    {
                        this._workItemService.Open(o.ID, user);
                        Interlocked.Increment(ref count);
                    }
                    catch (Exception e)
                    {
                        _log.Info(e.Message);
                    }
                });
                #endregion
            }
            else
            {
                #region execute
                list.AsParallel().ForAll(o =>
                {
                    try
                    {
                        this._workItemService.Execute(o.ID, user, "同意", null);
                        Interlocked.Increment(ref count);
                    }
                    catch (Exception e)
                    {
                        _log.Info(e.Message);
                    }
                });
                #endregion
            }

            w.Stop();

            if (open && slotCount != 0)
            {
                Assert.AreEqual(slotCount, count);
            }
            else if (slotCount != 0)
            {
                Assert.AreEqual(slotCount / 2, count);
            }

            Trace.WriteLine(string.Format("执行[{0}]数量={1}|耗时={2}|平均={3}次/s|平均={4}ms/次"
                                          , open ? "open" : "execute"
                                          , list.Count
                                          , w.ElapsedMilliseconds
                                          , ((double)list.Count / (double)w.ElapsedMilliseconds) * 1000
                                          , (double)w.ElapsedMilliseconds / (double)list.Count));
        }
コード例 #21
0
 /// <summary>
 /// 初始化任务待创建请求记录
 /// </summary>
 /// <param name="process"></param>
 /// <param name="humanActivityInstance"></param>
 public WorkItemCreateResumption(Process process, HumanActivityInstance humanActivityInstance)
     : base(process, WaitingResumption.MaxPriority)
 {
     this.Init(humanActivityInstance);
 }
コード例 #22
0
        public void Create()
        {
            var process    = this.Prepare();
            var subProcess = this.PrepareSubProcess(process);

            //流程发起调度
            WaitingResumption r = new ProcessStartResumption(process);

            this._resumptionService.Add(r);
            this.Evict(r);
            WaitingResumption r2 = this._resumptionService.Get(r.ID);

            Assert.IsNotNull(r2);
            Assert.IsInstanceOf <ProcessStartResumption>(r2);
            //书签恢复调度
            r = new BookmarkResumption(process, "节点1", "bookmark", "result");
            this._resumptionService.Add(r);
            this.Evict(r);
            r2 = this._resumptionService.Get(r.ID);
            Assert.IsNotNull(r2);
            Assert.IsInstanceOf <BookmarkResumption>(r2);
            //错误恢复调度
            r = new ErrorResumption(process, 0);
            this._resumptionService.Add(r);
            this.Evict(r);
            r2 = this._resumptionService.Get(r.ID);
            Assert.IsNotNull(r2);
            Assert.IsInstanceOf <ErrorResumption>(r2);
            //人工任务创建调度
            var h = new HumanActivityInstance(process.ID, 0, 1, "节点", "bookmark", new string[] { "houkun" });

            this._processService.CreateActivityInstance(h);
            r = new WorkItemCreateResumption(process, h);
            this._resumptionService.Add(r);
            this.Evict(r);
            r2 = this._resumptionService.Get(r.ID);
            Assert.IsNotNull(r2);
            Assert.IsInstanceOf <WorkItemCreateResumption>(r2);
            //流程完成调度
            TestHelper.ChangeProcessStatus(subProcess, ProcessStatus.Completed);
            r = new SubProcessCompleteResumption(process, subProcess);
            this._resumptionService.Add(r);
            this.Evict(r);
            r2 = this._resumptionService.Get(r.ID);
            Assert.IsNotNull(r2);
            Assert.IsInstanceOf <SubProcessCompleteResumption>(r2);
            //子流程启动调度
            var sub = new SubProcessActivityInstance(process.ID, 0, 1, "节点", "bookmark");

            this._processService.CreateActivityInstance(sub);
            r = new SubProcessCreateResumption(process, sub);
            this._resumptionService.Add(r);
            this.Evict(r);
            r2 = this._resumptionService.Get(r.ID);
            Assert.IsNotNull(r2);
            Assert.IsInstanceOf <SubProcessCreateResumption>(r2);
            //节点实例取消调度
            r = new ActivityInstanceCancelResumption(process, h);
            this._resumptionService.Add(r);
            this.Evict(r);
            r2 = this._resumptionService.Get(r.ID);
            Assert.IsNotNull(r2);
            Assert.IsInstanceOf <ActivityInstanceCancelResumption>(r2);
        }
コード例 #23
0
 //允许获取任何状态的任务用于计算
 //不允许声明独立事务 udplock、rowlock
 public IEnumerable <WorkItem> FindWorkItemsByActivityInstance(Process process, HumanActivityInstance humanActivityInstance)
 {
     return(this.GetSession()
            .CreateCriteria <WorkItem>()
            .SetLockMode(LockMode.Upgrade)
            .SetCacheable(false)
            .Add(Expression.Eq("Process", process))
            .Add(Expression.Eq("ActivityInstance", humanActivityInstance)).List <WorkItem>());
 }
コード例 #24
0
ファイル: TFlowEngine.cs プロジェクト: jatinbhole/NTFE-BPM
 private Client.ActivityInstance Parse(HumanActivityInstance instance)
 {
     return new Client.ActivityInstance()
     {
         ActivityName = instance.ActivityName,
         CreateTime = instance.CreateTime
     };
 }
コード例 #25
0
 public ActivityInstanceArgs(HumanActivityInstance instance, Process process)
 {
     this.Instance = instance;
     this.Process  = process;
 }