/// <summary> /// 写待办信息 /// </summary> /// <param name="actorID">参与者</param> /// <param name="executeContext"></param> public void WritePending(string actorID, ExecutingContext executeContext) { var node = GetCurrentNode(executeContext.Instance.InstanceID); string cateCode = (String)executeContext.Data.CateCode; string instanceID = (String)executeContext.Instance.InstanceID; Category model = new CategoryQueryService().Query() .FirstOrDefault(cate => cate.NID == cateCode); string json = (String)executeContext.Data.Json; Pending entry = new Pending { NID = Guid.NewGuid().ToString(), ActorID = actorID, InstanceID = instanceID, NodeID = node.NID, Url = model.Url, CreateDateTime = DateTime.Now, NodeName = node.Name, CateCode = cateCode, CateName = model.Name, Title = Parse(json, model.Expression) }; CommandBus.Dispatch <Pending>(new CreatePending(), entry); }
public string Start(string id) { Category category = new CategoryQueryService().Query() .FirstOrDefault(cate => cate.NID == id); WorkflowStructure workflowStructure = baseBridgeService.WorkflowStructureService.Query() .FirstOrDefault(e => e.CateCode == category.NID && e.Status == 1); return(WorkflowEngine.Instance.Start(workflowStructure.StructXml)); }
public dynamic Start(string id) { Category category = new CategoryQueryService().Query() .FirstOrDefault(cate => cate.NID == id); WorkflowStructure workflowStructure = baseBridgeService.WorkflowStructureService.Query() .FirstOrDefault(e => e.CateCode == category.NID && e.Status == 1); string instanceID = WorkflowEngine.Instance.Start(workflowStructure.StructXml); Node current = WorkflowInstance.GetInstance(instanceID).Current; string to = current.Transitions.FirstOrDefault().NID; return(new { InstanceID = instanceID, To = to }); }
public static void Execute(string cateCode, string instanceID) { Category model = new CategoryQueryService().Query() .FirstOrDefault(cate => cate.NID == cateCode); WorkflowInstance instance = WorkflowInstance.GetInstance(instanceID); var current = instance.Current; if (!String.IsNullOrEmpty(model.Script) && current.NodeType != WorkflowNodeCategory.Start) { var cate = new BridgeQueryService().Query(instanceID); if (cate == null) { return; } DBUtils.CreateConnection().Execute(model.Script, new { NodeName = instance.State == WorkflowInstanceState.Running ? current.Name : string.Format("{0}({1})", current.Name, "否决"), NID = cate.FormID }); } }
private CategoryQueryService _categoryQueryService; //Q 端 public CategoryController(ICommandService commandService, CategoryQueryService categoryQueryService) { _commandService = commandService; _categoryQueryService = categoryQueryService; }
public CategoryController(IArticleApplicationService articleApplicationService, CategoryQueryService categoryQueryService) { _categoryQueryService = categoryQueryService; _articleApplicationService = articleApplicationService; }