/// <summary>Snippet for CreateWorkflow</summary>
        public void CreateWorkflowRequestObject()
        {
            // Snippet: CreateWorkflow(CreateWorkflowRequest, CallSettings)
            // Create client
            WorkflowsClient workflowsClient = WorkflowsClient.Create();
            // Initialize request argument(s)
            CreateWorkflowRequest request = new CreateWorkflowRequest
            {
                ParentAsLocationName = LocationName.FromProjectLocation("[PROJECT]", "[LOCATION]"),
                Workflow             = new Workflow(),
                WorkflowId           = "",
            };
            // Make the request
            Operation <Workflow, OperationMetadata> response = workflowsClient.CreateWorkflow(request);

            // Poll until the returned long-running operation is complete
            Operation <Workflow, OperationMetadata> completedResponse = response.PollUntilCompleted();
            // Retrieve the operation result
            Workflow result = completedResponse.Result;

            // 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 <Workflow, OperationMetadata> retrievedResponse = workflowsClient.PollOnceCreateWorkflow(operationName);

            // Check if the retrieved long-running operation has completed
            if (retrievedResponse.IsCompleted)
            {
                // If it has completed, then access the result
                Workflow retrievedResult = retrievedResponse.Result;
            }
            // End snippet
        }
示例#2
0
        public async Task CreateAssignAndDeleteGoodWorkflow(XUnitWorkflow xWorkflow)
        {
            WorkflowNew workflow       = xWorkflow.Workflow;
            var         createRequest  = new CreateWorkflowRequest(workflow);
            var         createResponse = await SkyManager.ApiClient.ExecuteRequestAsync(createRequest);

            var workflowId         = createResponse.Content.WorkflowId;
            var assignWorkflowBody = new AssignWorkflowBody().SetDefaults();

            assignWorkflowBody.Name = "Assigned Workflow";
            Assert.NotNull(assignWorkflowBody.ToJson());
            Assert.NotNull(assignWorkflowBody.ToString());

            var assignRequest  = new AssignWorkflowRequest(assignWorkflowBody, workflowId, TestUserId);
            var assignResponse = await SkyManager.ApiClient.ExecuteRequestAsync(assignRequest);

            var assignmentId = assignResponse.Content.Id;

            await SkyManager.ApiClient.ExecuteRequestAsync(new Skylight.Api.Assignments.V1.AssignmentRequests.DeleteAssignmentRequest(assignmentId));

            var getWorkflowRequest  = new GetWorkflowRequest(workflowId);
            var getWorkflowResponse = await SkyManager.ApiClient.ExecuteRequestAsync(getWorkflowRequest);

            var workflowResponse = getWorkflowResponse.Content;

            await SkyManager.ApiClient.ExecuteRequestAsync(new DeleteWorkflowRequest(workflowId));
        }
示例#3
0
        public static Workflow Build(CreateWorkflowRequest createWorkflowRequest)
        {
            List <WorkflowTask> workflowTasks = createWorkflowRequest.Tasks
                                                .Select(task => new WorkflowTask(task.Name))
                                                .ToList();

            var workflow = new Workflow(createWorkflowRequest.WorkflowName);

            workflow.ReplaceTasks(workflowTasks);
            return(workflow);
        }
示例#4
0
        /// <summary>
        /// 对 COS 中指定 Bucket 的目录下上传的媒体文件,设置处理规则,包括:
        /// 1. 视频转码(带水印);
        /// 2. 视频转动图;
        /// 3. 对视频按指定时间点截图;
        /// 4. 对视频采样截图;
        /// 5. 对视频截图雪碧图;
        /// 6. 对视频转自适应码流。
        ///
        /// 注意:创建工作流成功后是禁用状态,需要手动启用。
        /// </summary>
        /// <param name="req">参考<see cref="CreateWorkflowRequest"/></param>
        /// <returns>参考<see cref="CreateWorkflowResponse"/>实例</returns>
        public async Task <CreateWorkflowResponse> CreateWorkflow(CreateWorkflowRequest req)
        {
            JsonResponseModel <CreateWorkflowResponse> rsp = null;

            try
            {
                var strResp = await this.InternalRequest(req, "CreateWorkflow");

                rsp = JsonConvert.DeserializeObject <JsonResponseModel <CreateWorkflowResponse> >(strResp);
            }
            catch (JsonSerializationException e)
            {
                throw new TencentCloudSDKException(e.Message);
            }
            return(rsp.Response);
        }
        public void should_save_workflow()
        {
            var createWorkflowRequest = new CreateWorkflowRequest
            {
                WorkflowName = "workflow",
                Tasks        = new List <CreateWorkflowTaskRequest>
                {
                    new CreateWorkflowTaskRequest {
                        Name = "task 1"
                    }
                }
            };
            var workflowApplicationService = new WorkflowApplicationService(
                new WorkflowRepository(ResolveSession()),
                new TransactionExecutor(ResolveSession()));

            workflowApplicationService.Create(createWorkflowRequest);

            Workflow workflow = ResolveSession().Query <Workflow>().Single();

            Assert.Equal("workflow", workflow.Name);
            Assert.Single(workflow.Tasks);
            Assert.Equal("task 1", workflow.Tasks[0].Name);
        }
示例#6
0
 /// <summary>
 /// Create Workflow
 /// </summary>
 /// <param name="request">Request</param>
 public void CreateWorkflow(CreateWorkflowRequest request)
 {
     Channel.CreateWorkflow(request);
 }
示例#7
0
 /// <summary>
 /// Create Workflow
 /// </summary>
 /// <param name="request">Request</param>
 public void CreateWorkflow(CreateWorkflowRequest request)
 {
     _workflow.CreateWorkflow(Guid.Parse(request.WorkflowId), Guid.Parse(request.ParentWorkflowId),
                              request.WorkflowCode, request.Domain, request.PropertyInfos);
 }
示例#8
0
        public void Create(CreateWorkflowRequest createWorkflowRequest)
        {
            Workflow workflow = WorkflowFactory.Build(createWorkflowRequest);

            transactionExecutor.Execute(() => { workflowRepository.Create(workflow); });
        }