Beispiel #1
0
        /// <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);
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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;
 }