/// <summary>Snippet for InstantiateInlineWorkflowTemplate</summary>
        public void InstantiateInlineWorkflowTemplate()
        {
            // Snippet: InstantiateInlineWorkflowTemplate(RegionName,WorkflowTemplate,CallSettings)
            // Create client
            WorkflowTemplateServiceClient workflowTemplateServiceClient = WorkflowTemplateServiceClient.Create();
            // Initialize request argument(s)
            RegionName       parent   = new RegionName("[PROJECT]", "[REGION]");
            WorkflowTemplate template = new WorkflowTemplate();
            // Make the request
            Operation <Empty, WorkflowMetadata> response =
                workflowTemplateServiceClient.InstantiateInlineWorkflowTemplate(parent, template);

            // Poll until the returned long-running operation is complete
            Operation <Empty, WorkflowMetadata> completedResponse =
                response.PollUntilCompleted();
            // The long-running operation is now complete.

            // Or get the name of the operation
            string operationName = response.Name;
            // This name can be stored, then the long-running operation retrieved later by name
            Operation <Empty, WorkflowMetadata> retrievedResponse =
                workflowTemplateServiceClient.PollOnceInstantiateInlineWorkflowTemplate(operationName);

            // Check if the retrieved long-running operation has completed
            if (retrievedResponse.IsCompleted)
            {
                // The long-running operation is now complete.
            }
            // End snippet
        }
Beispiel #2
0
        private Tuple <string, DateTime> LoadWorkflowDefinition(ClientContext cc, WorkflowTemplate workflowTemplate)
        {
            if (!IsOOBWorkflow(workflowTemplate.Id.ToString()))
            {
                // Ensure the workflow library was loaded if not yet done
                LoadWorkflowLibrary(cc);
                try
                {
                    return(GetFileInformation(cc.Web, $"{this.workflowList.RootFolder.ServerRelativeUrl}/{workflowTemplate.Name}/{workflowTemplate.Name}.xoml"));
                }
                catch (Exception ex)
                {
                }

                try
                {
                    LoadWfPubLibrary(cc);
                    return(GetFileInformation(cc.Site.RootWeb, $"{this.wfpubList.RootFolder.ServerRelativeUrl}/{workflowTemplate.Name}/{workflowTemplate.Name}.xoml"));
                }
                catch (Exception ex)
                {
                }
            }

            return(null);
        }
Beispiel #3
0
        public async Task CreateWorkflowTemplateAsync()
        {
            Mock <WorkflowTemplateService.WorkflowTemplateServiceClient> mockGrpcClient = new Mock <WorkflowTemplateService.WorkflowTemplateServiceClient>(MockBehavior.Strict);

            mockGrpcClient.Setup(x => x.CreateOperationsClient())
            .Returns(new Mock <Operations.OperationsClient>().Object);
            CreateWorkflowTemplateRequest expectedRequest = new CreateWorkflowTemplateRequest
            {
                ParentAsRegionName = new RegionName("[PROJECT]", "[REGION]"),
                Template           = new WorkflowTemplate(),
            };
            WorkflowTemplate expectedResponse = new WorkflowTemplate
            {
                Id = "id3355",
                WorkflowTemplateName = new WorkflowTemplateName("[PROJECT]", "[REGION]", "[WORKFLOW_TEMPLATE]"),
                Version = 351608024,
            };

            mockGrpcClient.Setup(x => x.CreateWorkflowTemplateAsync(expectedRequest, It.IsAny <CallOptions>()))
            .Returns(new Grpc.Core.AsyncUnaryCall <WorkflowTemplate>(Task.FromResult(expectedResponse), null, null, null, null));
            WorkflowTemplateServiceClient client = new WorkflowTemplateServiceClientImpl(mockGrpcClient.Object, null);
            RegionName       parent   = new RegionName("[PROJECT]", "[REGION]");
            WorkflowTemplate template = new WorkflowTemplate();
            WorkflowTemplate response = await client.CreateWorkflowTemplateAsync(parent, template);

            Assert.Same(expectedResponse, response);
            mockGrpcClient.VerifyAll();
        }
        /// <summary>Snippet for InstantiateInlineWorkflowTemplateAsync</summary>
        public async Task InstantiateInlineWorkflowTemplateAsync()
        {
            // Snippet: InstantiateInlineWorkflowTemplateAsync(string,WorkflowTemplate,CallSettings)
            // Additional: InstantiateInlineWorkflowTemplateAsync(string,WorkflowTemplate,CancellationToken)
            // Create client
            WorkflowTemplateServiceClient workflowTemplateServiceClient = await WorkflowTemplateServiceClient.CreateAsync();

            // Initialize request argument(s)
            string           formattedParent = new RegionName("[PROJECT]", "[REGION]").ToString();
            WorkflowTemplate template        = new WorkflowTemplate();
            // Make the request
            Operation <Empty, WorkflowMetadata> response =
                await workflowTemplateServiceClient.InstantiateInlineWorkflowTemplateAsync(formattedParent, template);

            // Poll until the returned long-running operation is complete
            Operation <Empty, WorkflowMetadata> completedResponse =
                await response.PollUntilCompletedAsync();

            // The long-running operation is now complete.

            // Or get the name of the operation
            string operationName = response.Name;
            // This name can be stored, then the long-running operation retrieved later by name
            Operation <Empty, WorkflowMetadata> retrievedResponse =
                await workflowTemplateServiceClient.PollOnceInstantiateInlineWorkflowTemplateAsync(operationName);

            // Check if the retrieved long-running operation has completed
            if (retrievedResponse.IsCompleted)
            {
                // The long-running operation is now complete.
            }
            // End snippet
        }
Beispiel #5
0
        public void CreateWorkflowTemplate2()
        {
            Mock <WorkflowTemplateService.WorkflowTemplateServiceClient> mockGrpcClient = new Mock <WorkflowTemplateService.WorkflowTemplateServiceClient>(MockBehavior.Strict);

            mockGrpcClient.Setup(x => x.CreateOperationsClient())
            .Returns(new Mock <Operations.OperationsClient>().Object);
            CreateWorkflowTemplateRequest request = new CreateWorkflowTemplateRequest
            {
                ParentAsRegionName = new RegionName("[PROJECT]", "[REGION]"),
                Template           = new WorkflowTemplate(),
            };
            WorkflowTemplate expectedResponse = new WorkflowTemplate
            {
                Id = "id3355",
                WorkflowTemplateName = new WorkflowTemplateName("[PROJECT]", "[REGION]", "[WORKFLOW_TEMPLATE]"),
                Version = 351608024,
            };

            mockGrpcClient.Setup(x => x.CreateWorkflowTemplate(request, It.IsAny <CallOptions>()))
            .Returns(expectedResponse);
            WorkflowTemplateServiceClient client = new WorkflowTemplateServiceClientImpl(mockGrpcClient.Object, null);
            WorkflowTemplate response            = client.CreateWorkflowTemplate(request);

            Assert.Same(expectedResponse, response);
            mockGrpcClient.VerifyAll();
        }
Beispiel #6
0
 public FibonacciWorkflowData(int numberOfSteps)
 {
     this.numberOfSteps         = numberOfSteps;
     stepTemplate               = FibonacciSampleData.StepTemplate;
     workflowTemplate           = FibonacciDataGenerator.GetWorkflowTemplate(numberOfSteps);
     workflowTemplateWithInputs = FibonacciDataGenerator.GetWorkflowTemplateWithInputs(numberOfSteps);
 }
        public static void attachWorkflow(this List lst, ClientContext ctx, string cTemplateName)
        {
            try
            {
                Web web = lst.ParentWeb;

                ctx.Load(web, w => w.Url);
                ctx.ExecuteQuery();
                System.Diagnostics.Trace.WriteLine(web.Url);

                WorkflowTemplate wt = GetWorkflowTemplate(web, cTemplateName);

                WorkflowAssociationCreationInformation wfc = new WorkflowAssociationCreationInformation
                {
                    HistoryList = web.Lists.GetByTitle("Workflow History"),
                    Name        = cTemplateName,
                    TaskList    = web.Lists.GetByTitle("Workflow Tasks"),
                    Template    = wt
                };
                WorkflowAssociation wf = lst.WorkflowAssociations.Add(wfc);
                wf.AllowManual     = false; // is never updated
                wf.AutoStartChange = true;  // is never
                wf.AutoStartCreate = true;  // is never updated
                wf.Enabled         = true;  // is never updated
                                            //string assocData = GetAssociationXml(); // internal method
                                            // wf.AssociationData = assocData; // is never updated
                wf.Update();
                ctx.Load(wf);
                ctx.ExecuteQuery();
            }
            catch (Exception ex)
            {
                System.Diagnostics.Trace.WriteLine(ex.Message);
            }
        }
 /// <summary>Snippet for UpdateWorkflowTemplate</summary>
 public void UpdateWorkflowTemplate()
 {
     // Snippet: UpdateWorkflowTemplate(WorkflowTemplate,CallSettings)
     // Create client
     WorkflowTemplateServiceClient workflowTemplateServiceClient = WorkflowTemplateServiceClient.Create();
     // Initialize request argument(s)
     WorkflowTemplate template = new WorkflowTemplate();
     // Make the request
     WorkflowTemplate response = workflowTemplateServiceClient.UpdateWorkflowTemplate(template);
     // End snippet
 }
Beispiel #9
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsAsyncRequest)
            {
                if (this.Request.QueryString["flowId"] != null)
                {
                    WorkflowInstance wi = WorkflowInstance.Find(this.Request.QueryString["flowId"]);
                    WorkflowTemplate tp = WorkflowTemplate.Find(wi.WorkflowTemplateID);

                    IList <EasyDictionary> dicts = DataHelper.DataTableToDictList(GetNodes(tp.XAML));
                    this.PageState.Add("FlowEnum", dicts);
                    tasks = Task.FindAll(Expression.Eq(Task.Prop_WorkflowInstanceID, wi.ID), Expression.Not(Expression.Eq("Status", 2))).OrderBy(ens => !ens.FinishTime.HasValue ? DateTime.Now : ens.FinishTime).OrderBy(ens => ens.CreatedTime).ToArray();
                    this.PageState.Add("SysWorkFlowTaskList", tasks);
                }
            }
            if (this.RequestActionString != null && this.RequestActionString == "sendMessage")
            {
                string flowId   = this.RequestData.Get <string>("flowId");
                string taskName = this.RequestData.Get <string>("TaskName");
                if (Task.FindAllByProperties(Task.Prop_WorkflowInstanceID, flowId, Task.Prop_ApprovalNodeName, taskName).Length > 0)
                {
                    Task    task     = Task.FindAllByProperties(Task.Prop_WorkflowInstanceID, flowId, Task.Prop_ApprovalNodeName, taskName)[0];
                    string  userId   = task.OwnerId;
                    string  userName = task.Owner;
                    SysUser user     = SysUser.TryFind(userId);
                    if (userId == this.UserInfo.UserID)
                    {
                        PageState.Add("Message", "您是要催办的审批人,无需给自己发送短信催办!");
                    }
                    else if (user != null && (!string.IsNullOrEmpty(user.Phone) || !string.IsNullOrEmpty(user.Email)))
                    {
                        string method        = this.RequestData.Get <string>("Method").ToLower();
                        string mailTemplate  = SysParameter.FindAllByProperties("Code", "TaskAlertMail")[0].Description;  //{[AuditCount]} {[TaskName]}
                        string phoneTemplate = SysParameter.FindAllByProperties("Code", "TaskAlertPhone")[0].Description; //{[AuditCount]} {[LinkUrl]} {[SysEntry]}

                        string tName      = task.Title;
                        string linkUrl    = task.EFormName;
                        string sysEntry   = SysParameter.FindAllByProperties("Code", "SysEntry2")[0].Description;
                        string auditCount = DataHelper.QueryValue <int>("select count(*) from Task where status='0' and ownerId='" + userId + "'").ToString();

                        string mailContent  = mailTemplate.Replace("{[TaskName]}", tName).Replace("{[AuditCount]}", auditCount).Replace("{[SysEntry]}", sysEntry + task.ID);
                        string phoneContent = phoneTemplate.Replace("{[AuditCount]}", auditCount).Replace("{[TaskName]}", tName).Replace("{[LinkUrl]}", linkUrl).Replace("{[SysEntry]}", sysEntry);
                        //if (!string.IsNullOrEmpty(user.Phone) && method == "phone")
                        //    MessageTool.SendMessage(user.Phone, phoneContent);
                        //if (!string.IsNullOrEmpty(user.Email) && method == "mail")
                        //    MessageTool.SendMessageMail(mailContent, user.Email);
                    }
                    else
                    {
                        PageState.Add("Message", "系统尚未配置相关审批人电话号码及邮箱信息,无法发送短信和邮件!");
                    }
                }
            }
        }
 /// <summary>Snippet for GetWorkflowTemplate</summary>
 public void GetWorkflowTemplate()
 {
     // Snippet: GetWorkflowTemplate(WorkflowTemplateName,CallSettings)
     // Create client
     WorkflowTemplateServiceClient workflowTemplateServiceClient = WorkflowTemplateServiceClient.Create();
     // Initialize request argument(s)
     WorkflowTemplateName name = new WorkflowTemplateName("[PROJECT]", "[REGION]", "[WORKFLOW_TEMPLATE]");
     // Make the request
     WorkflowTemplate response = workflowTemplateServiceClient.GetWorkflowTemplate(name);
     // End snippet
 }
Beispiel #11
0
        public static WorkflowAssociation CreateListWorkflowAssociation(this Web site, string listName, Guid workflowTemplateId, string assocName,
                                                                        string workflowTasksListName, string workflowHistoryListName, bool allowManual, bool autoStartCreate, bool autoStartChange)
        {
            WorkflowTemplate wfTemplate = site.WorkflowTemplates.GetById(workflowTemplateId);

            site.Context.Load(wfTemplate);

            return(site.CreateListWorkflowAssociation(listName, wfTemplate, assocName, workflowTasksListName,
                                                      workflowHistoryListName, allowManual, autoStartCreate,
                                                      autoStartChange));
        }
        //IWorkflowConfigManager _WorkflowDraftManager;
        //IWorkflowConfigManager WorkflowDraftManager
        //{
        //    get
        //    {
        //        if (this._WorkflowDraftManager == null)
        //            this._WorkflowDraftManager = this.Engine.WorkflowConfigManager;
        //        return this._WorkflowDraftManager;
        //    }
        //}

        #endregion

        #region 流程模板管理器

        //IWorkflowManager _WorkflowManager;
        //IWorkflowManager WorkflowManager
        //{
        //    get
        //    {
        //        if (this._WorkflowManager == null)
        //            this._WorkflowManager = this.Engine.WorkflowManager;
        //        return this._WorkflowManager;
        //    }
        //}

        #endregion

        //OThinker.H3.DataModel.IBizObjectManager _BizObjectManager;
        //OThinker.H3.DataModel.IBizObjectManager BizObjectManager
        //{
        //    get
        //    {
        //        if (this._BizObjectManager == null)
        //            this._BizObjectManager = this.Engine.BizObjectManager;
        //        return this._BizObjectManager;
        //    }
        //}


        #region 从Context中获取流程模板内容

        /// <summary>
        /// 读取模板信息
        /// </summary>
        /// <returns></returns>
        WorkflowTemplate ReadRequestWorkflowTemplate()
        {
            string WorkflowString = HttpUtility.HtmlDecode(CurrentParams["WorkflowTemplate"]);
            //读取活动模板定义信息
            WorkflowTemplate workflowTemplate = (WorkflowTemplate)JSSerializer.Deserialize(WorkflowString, typeof(WorkflowTemplate));

            if (workflowTemplate == null)
            {
                return(null);
            }
            return(workflowTemplate);
        }
 /// <summary>Snippet for CreateWorkflowTemplate</summary>
 public void CreateWorkflowTemplate()
 {
     // Snippet: CreateWorkflowTemplate(RegionName,WorkflowTemplate,CallSettings)
     // Create client
     WorkflowTemplateServiceClient workflowTemplateServiceClient = WorkflowTemplateServiceClient.Create();
     // Initialize request argument(s)
     RegionName       parent   = new RegionName("[PROJECT]", "[REGION]");
     WorkflowTemplate template = new WorkflowTemplate();
     // Make the request
     WorkflowTemplate response = workflowTemplateServiceClient.CreateWorkflowTemplate(parent, template);
     // End snippet
 }
Beispiel #14
0
        private void WorkflowListView_MouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            WorkflowTemplate workflow = (WorkflowTemplate)WorkflowListView.SelectedItem;

            if (CanTheWorkflowBeInitiated(workflow.TemplateId) == false)
            {
                MessageBox.Show(Languages.Translate("There is already a workflow instance running with the same workflow template"));
                return;
            }


            ServiceManagerFactory.GetServiceManager(this.SiteSetting.SiteSettingType).StartWorkflow(this.SiteSetting, this.Item, workflow);
        }
 /// <summary>Snippet for GetWorkflowTemplate</summary>
 public void GetWorkflowTemplate_RequestObject()
 {
     // Snippet: GetWorkflowTemplate(GetWorkflowTemplateRequest,CallSettings)
     // Create client
     WorkflowTemplateServiceClient workflowTemplateServiceClient = WorkflowTemplateServiceClient.Create();
     // Initialize request argument(s)
     GetWorkflowTemplateRequest request = new GetWorkflowTemplateRequest
     {
         WorkflowTemplateName = new WorkflowTemplateName("[PROJECT]", "[REGION]", "[WORKFLOW_TEMPLATE]"),
     };
     // Make the request
     WorkflowTemplate response = workflowTemplateServiceClient.GetWorkflowTemplate(request);
     // End snippet
 }
        /// <summary>Snippet for UpdateWorkflowTemplateAsync</summary>
        public async Task UpdateWorkflowTemplateAsync()
        {
            // Snippet: UpdateWorkflowTemplateAsync(WorkflowTemplate,CallSettings)
            // Additional: UpdateWorkflowTemplateAsync(WorkflowTemplate,CancellationToken)
            // Create client
            WorkflowTemplateServiceClient workflowTemplateServiceClient = await WorkflowTemplateServiceClient.CreateAsync();

            // Initialize request argument(s)
            WorkflowTemplate template = new WorkflowTemplate();
            // Make the request
            WorkflowTemplate response = await workflowTemplateServiceClient.UpdateWorkflowTemplateAsync(template);

            // End snippet
        }
        /// <summary>Snippet for GetWorkflowTemplateAsync</summary>
        public async Task GetWorkflowTemplateAsync()
        {
            // Snippet: GetWorkflowTemplateAsync(WorkflowTemplateName,CallSettings)
            // Additional: GetWorkflowTemplateAsync(WorkflowTemplateName,CancellationToken)
            // Create client
            WorkflowTemplateServiceClient workflowTemplateServiceClient = await WorkflowTemplateServiceClient.CreateAsync();

            // Initialize request argument(s)
            WorkflowTemplateName name = new WorkflowTemplateName("[PROJECT]", "[REGION]", "[WORKFLOW_TEMPLATE]");
            // Make the request
            WorkflowTemplate response = await workflowTemplateServiceClient.GetWorkflowTemplateAsync(name);

            // End snippet
        }
 /// <summary>Snippet for UpdateWorkflowTemplate</summary>
 public void UpdateWorkflowTemplate_RequestObject()
 {
     // Snippet: UpdateWorkflowTemplate(UpdateWorkflowTemplateRequest,CallSettings)
     // Create client
     WorkflowTemplateServiceClient workflowTemplateServiceClient = WorkflowTemplateServiceClient.Create();
     // Initialize request argument(s)
     UpdateWorkflowTemplateRequest request = new UpdateWorkflowTemplateRequest
     {
         Template = new WorkflowTemplate(),
     };
     // Make the request
     WorkflowTemplate response = workflowTemplateServiceClient.UpdateWorkflowTemplate(request);
     // End snippet
 }
        /// <summary>Snippet for CreateWorkflowTemplateAsync</summary>
        public async Task CreateWorkflowTemplateAsync()
        {
            // Snippet: CreateWorkflowTemplateAsync(RegionName,WorkflowTemplate,CallSettings)
            // Additional: CreateWorkflowTemplateAsync(RegionName,WorkflowTemplate,CancellationToken)
            // Create client
            WorkflowTemplateServiceClient workflowTemplateServiceClient = await WorkflowTemplateServiceClient.CreateAsync();

            // Initialize request argument(s)
            RegionName       parent   = new RegionName("[PROJECT]", "[REGION]");
            WorkflowTemplate template = new WorkflowTemplate();
            // Make the request
            WorkflowTemplate response = await workflowTemplateServiceClient.CreateWorkflowTemplateAsync(parent, template);

            // End snippet
        }
 /// <summary>Snippet for CreateWorkflowTemplate</summary>
 public void CreateWorkflowTemplate_RequestObject()
 {
     // Snippet: CreateWorkflowTemplate(CreateWorkflowTemplateRequest,CallSettings)
     // Create client
     WorkflowTemplateServiceClient workflowTemplateServiceClient = WorkflowTemplateServiceClient.Create();
     // Initialize request argument(s)
     CreateWorkflowTemplateRequest request = new CreateWorkflowTemplateRequest
     {
         ParentAsRegionName = new RegionName("[PROJECT]", "[REGION]"),
         Template           = new WorkflowTemplate(),
     };
     // Make the request
     WorkflowTemplate response = workflowTemplateServiceClient.CreateWorkflowTemplate(request);
     // End snippet
 }
Beispiel #21
0
        string type = String.Empty; // 对象类型

        #endregion

        #region ASP.NET 事件

        protected void Page_Load(object sender, EventArgs e)
        {
            op = RequestData.Get <string>("op");
            id = RequestData.Get <string>("id") == null?RequestData.Get <string>("Id") : RequestData.Get <string>("id");

            type = RequestData.Get <string>("type");

            WorkflowTemplate ent = null;

            switch (this.RequestAction)
            {
            case RequestActionEnum.Update:
                ent = this.GetMergedData <WorkflowTemplate>();
                ent.DoUpdate();
                this.SetMessage("修改成功!");
                break;

            case RequestActionEnum.Insert:
            case RequestActionEnum.Create:
                ent = this.GetPostedData <WorkflowTemplate>();

                // 设置项目信息
                ent.Creator = UserInfo.Name;
                ent.DoCreate();
                this.SetMessage("新建成功!");
                break;

            case RequestActionEnum.Delete:
                ent = this.GetTargetData <WorkflowTemplate>();
                ent.DoDelete();
                this.SetMessage("删除成功!");
                return;
            }

            if (op != "c" && op != "cs")
            {
                if (!String.IsNullOrEmpty(id))
                {
                    ent = WorkflowTemplate.Find(id);
                }
                this.SetFormData(ent);
            }
            else
            {
                PageState.Add("CreateName", UserInfo.Name);
                PageState.Add("CreateTime", DateTime.Now);
            }
        }
        /// <summary>Snippet for UpdateWorkflowTemplateAsync</summary>
        public async Task UpdateWorkflowTemplateAsync_RequestObject()
        {
            // Snippet: UpdateWorkflowTemplateAsync(UpdateWorkflowTemplateRequest,CallSettings)
            // Additional: UpdateWorkflowTemplateAsync(UpdateWorkflowTemplateRequest,CancellationToken)
            // Create client
            WorkflowTemplateServiceClient workflowTemplateServiceClient = await WorkflowTemplateServiceClient.CreateAsync();

            // Initialize request argument(s)
            UpdateWorkflowTemplateRequest request = new UpdateWorkflowTemplateRequest
            {
                Template = new WorkflowTemplate(),
            };
            // Make the request
            WorkflowTemplate response = await workflowTemplateServiceClient.UpdateWorkflowTemplateAsync(request);

            // End snippet
        }
        /// <summary>Snippet for CreateWorkflowTemplateAsync</summary>
        public async Task CreateWorkflowTemplateAsync_RequestObject()
        {
            // Snippet: CreateWorkflowTemplateAsync(CreateWorkflowTemplateRequest,CallSettings)
            // Additional: CreateWorkflowTemplateAsync(CreateWorkflowTemplateRequest,CancellationToken)
            // Create client
            WorkflowTemplateServiceClient workflowTemplateServiceClient = await WorkflowTemplateServiceClient.CreateAsync();

            // Initialize request argument(s)
            CreateWorkflowTemplateRequest request = new CreateWorkflowTemplateRequest
            {
                ParentAsRegionName = new RegionName("[PROJECT]", "[REGION]"),
                Template           = new WorkflowTemplate(),
            };
            // Make the request
            WorkflowTemplate response = await workflowTemplateServiceClient.CreateWorkflowTemplateAsync(request);

            // End snippet
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            WorkflowTemplate ent = null;

            switch (this.RequestAction)
            {
            case RequestActionEnum.Delete:
                ent = this.GetTargetData <WorkflowTemplate>();
                ent.DoDelete();
                this.SetMessage("删除成功!");
                break;

            case RequestActionEnum.Custom:
                //启动流程
                if (this.RequestActionString.ToLower() == "startflow")
                {
                    Aim.WorkFlow.WorkflowTemplate ne = Aim.WorkFlow.WorkflowTemplate.Find(this.RequestData["Id"].ToString());
                    //启动流程
                    string key = ne.Code;    // "NewsPub";
                    //表单路径,后面加上参数传入
                    string formUrl = "/WorkFlow/WorkFlowDefineEdit.aspx?op=u&&Id=" + ne.ID;
                    Aim.WorkFlow.WorkFlow.StartWorkFlow(ne.ID, formUrl, ne.TemplateName, key, this.UserInfo.UserID, this.UserInfo.Name);
                    PageState.Add("message", "启动成功");
                }
                break;

            default:
                if (RequestActionString == "batchdelete")
                {
                    IList <object> idList = RequestData.GetList <object>("IdList");

                    if (idList != null && idList.Count > 0)
                    {
                        WorkflowTemplate.DoBatchDelete(idList.ToArray());
                    }
                }
                else
                {
                    ents = WorkflowTemplateRule.FindAll(SearchCriterion);
                    this.PageState.Add("SysWorkFlowDefineList", ents);
                }
                break;
            }
        }
Beispiel #25
0
    public EndpointUrlBuilder(ManagementOptions options)
    {
        _taxonomyTemplate       = new TaxonomyTemplate();
        _assetTemplate          = new AssetTemplate();
        _assetRenditionTemplate = new AssetRenditionTemplate();
        _languageTemplate       = new LanguageTemplate();
        _snippetTemplate        = new SnippetTemplate();
        _collectionTemplate     = new CollectionTemplate();
        _typeTemplate           = new TypeTemplate();
        _validateTemplate       = new ValidateTemplate();
        _variantTemplate        = new VariantTemplate();
        _webhookTemplate        = new WebhookTemplate();
        _workflowTemplate       = new WorkflowTemplate();
        _itemTemplate           = new ItemTemplate();
        _projectRolesTemplate   = new ProjectRolesTemplate();
        _userTemplate           = new UserTemplate();

        _options = options;
    }
        public async stt::Task CreateWorkflowTemplateRequestObjectAsync()
        {
            moq::Mock <WorkflowTemplateService.WorkflowTemplateServiceClient> mockGrpcClient = new moq::Mock <WorkflowTemplateService.WorkflowTemplateServiceClient>(moq::MockBehavior.Strict);

            mockGrpcClient.Setup(x => x.CreateOperationsClient()).Returns(new moq::Mock <lro::Operations.OperationsClient>().Object);
            CreateWorkflowTemplateRequest request = new CreateWorkflowTemplateRequest
            {
                ParentAsRegionName = RegionName.FromProjectRegion("[PROJECT]", "[REGION]"),
                Template           = new WorkflowTemplate(),
            };
            WorkflowTemplate expectedResponse = new WorkflowTemplate
            {
                WorkflowTemplateName = WorkflowTemplateName.FromProjectRegionWorkflowTemplate("[PROJECT]", "[REGION]", "[WORKFLOW_TEMPLATE]"),
                Id         = "id74b70bb8",
                Version    = 271578922,
                CreateTime = new wkt::Timestamp(),
                UpdateTime = new wkt::Timestamp(),
                Labels     =
                {
                    {
                        "key8a0b6e3c",
                        "value60c16320"
                    },
                },
                Placement  = new WorkflowTemplatePlacement(),
                Jobs       = { new OrderedJob(), },
                Parameters =
                {
                    new TemplateParameter(),
                },
                DagTimeout = new wkt::Duration(),
            };

            mockGrpcClient.Setup(x => x.CreateWorkflowTemplateAsync(request, moq::It.IsAny <grpccore::CallOptions>())).Returns(new grpccore::AsyncUnaryCall <WorkflowTemplate>(stt::Task.FromResult(expectedResponse), null, null, null, null));
            WorkflowTemplateServiceClient client  = new WorkflowTemplateServiceClientImpl(mockGrpcClient.Object, null);
            WorkflowTemplate responseCallSettings = await client.CreateWorkflowTemplateAsync(request, gaxgrpc::CallSettings.FromCancellationToken(st::CancellationToken.None));

            xunit::Assert.Same(expectedResponse, responseCallSettings);
            WorkflowTemplate responseCancellationToken = await client.CreateWorkflowTemplateAsync(request, st::CancellationToken.None);

            xunit::Assert.Same(expectedResponse, responseCancellationToken);
            mockGrpcClient.VerifyAll();
        }
        /// <summary>
        /// 画图页面
        /// </summary>
        /// <returns></returns>
        public ActionResult ProcessDesigner(string ObjectId)
        {
            List <OT_WorkflowTemplateDraft> modelList = _workflowTemplateDraftService.SelectData <OT_WorkflowTemplateDraft>(@"SELECT [ObjectID]
      ,[Content]
      ,[Creator]
      ,[ModifiedBy]
      ,[CreatedTime]
      ,[ModifiedTime]
      ,[WorkflowCode]
      ,[BizObjectSchemaCode]
      ,[ParentObjectID]
      ,[ParentPropertyName]
      ,[ParentIndex],ProcessName
  FROM [Work6-OA].[dbo].[OT_WorkflowTemplate] where ObjectId='" + ObjectId + "'");
            OT_WorkflowTemplateDraft        model     = modelList[0];
            WorkflowTemplate workflowTemplate         = WorkflowHelper.GetWorkflowTemplate(model);

            ViewData["WorkflowTemplate"] = new JavaScriptSerializer().Serialize(workflowTemplate);
            return(View());
        }
        public void GetWorkflowTemplateRequestObject()
        {
            moq::Mock <WorkflowTemplateService.WorkflowTemplateServiceClient> mockGrpcClient = new moq::Mock <WorkflowTemplateService.WorkflowTemplateServiceClient>(moq::MockBehavior.Strict);

            mockGrpcClient.Setup(x => x.CreateOperationsClient()).Returns(new moq::Mock <lro::Operations.OperationsClient>().Object);
            GetWorkflowTemplateRequest request = new GetWorkflowTemplateRequest
            {
                WorkflowTemplateName = WorkflowTemplateName.FromProjectRegionWorkflowTemplate("[PROJECT]", "[REGION]", "[WORKFLOW_TEMPLATE]"),
                Version = 271578922,
            };
            WorkflowTemplate expectedResponse = new WorkflowTemplate
            {
                WorkflowTemplateName = WorkflowTemplateName.FromProjectRegionWorkflowTemplate("[PROJECT]", "[REGION]", "[WORKFLOW_TEMPLATE]"),
                Id         = "id74b70bb8",
                Version    = 271578922,
                CreateTime = new wkt::Timestamp(),
                UpdateTime = new wkt::Timestamp(),
                Labels     =
                {
                    {
                        "key8a0b6e3c",
                        "value60c16320"
                    },
                },
                Placement  = new WorkflowTemplatePlacement(),
                Jobs       = { new OrderedJob(), },
                Parameters =
                {
                    new TemplateParameter(),
                },
                DagTimeout = new wkt::Duration(),
            };

            mockGrpcClient.Setup(x => x.GetWorkflowTemplate(request, moq::It.IsAny <grpccore::CallOptions>())).Returns(expectedResponse);
            WorkflowTemplateServiceClient client = new WorkflowTemplateServiceClientImpl(mockGrpcClient.Object, null);
            WorkflowTemplate response            = client.GetWorkflowTemplate(request);

            xunit::Assert.Same(expectedResponse, response);
            mockGrpcClient.VerifyAll();
        }
Beispiel #29
0
        public async Task <bool> PostNewWorkflowTemplate(WorkflowTemplate WorkflowTemplate, string username = null, string password = null)
        {
            using (HttpClient client = new HttpClient(clientHandler))
            {
                client.BaseAddress = new Uri(_url);
                AuthorizeClientWithUser(client, username, password);

                var body     = JsonConvert.SerializeObject(WorkflowTemplate);
                var response = await client.PostAsync("/api/Workflow-templates", new StringContent(body, Encoding.UTF8, "application/json"));

                var contents = await response.Content.ReadAsStringAsync();

                if (response.IsSuccessStatusCode)
                {
                    return(true);
                }
                else
                {
                    throw new Exception("Error sending Workflow template request, returned with error " + response.StatusCode + "with message " + contents);
                }
            }
        }
        /// <summary>
        /// 解析
        /// </summary>
        /// <param name="xdoc"></param>
        /// <returns></returns>
        private static IWorkflowTemplate DoParse(XDocument xdoc)
        {
            if (xdoc == null)
            {
                throw new ArgumentException();
            }

            var root = xdoc.Element("WorkflowTemplate");

            var templateUuid = root.Element("Identifier").Value;
            //创建WorkflowTemplate对象
            var workflowTemplate = new WorkflowTemplate(templateUuid, DefaultTemplateStatus, null);

            //构建ActivityTemplates
            //注意Lambda表达式造成的deferred execution,可能是造成部分内部空指针的原因
            var query = from item in root.Element("Activities").Elements("Activity")
                        select BuildActivityTemplate(item);

            var builder = new WorkflowTemplateBuilder();

            return(builder.SetActivityTemplates(query.ToList())
                   .SetWorkflowTemplate(workflowTemplate)
                   .Build());
        }