Quantcast
Channel: C1 CMS Foundation - Open Source on .NET
Viewing all articles
Browse latest Browse all 2540

New Post: Item open in console?

$
0
0
Not sure if it will help. According to code, ViewId is generated from workflowId. Since that part of api is internal, you can can only build get one with reflection:
        private string GetViewId(Guid workflowId)
        {
            var flowToken = new WorkflowFlowToken(workflowId);
            FlowHandle flowHandle = new FlowHandle(flowToken);
            string serializedFlowHandle = flowHandle.Serialize();
            
            var type = typeof (Composite.Data.IData).Assembly.GetType("Composite.Core.WebClient.FlowMediators.ViewTransitionHelper");
            var method = type.GetMethod("MakeViewId", BindingFlags.Static | BindingFlags.NonPublic);
            return method.Invoke(null, new object[] {serializedFlowHandle}) as string;
        }

        private void ListFormWorkflows()
        {
            var loadedWorkflows = WorkflowFacade.WorkflowRuntime.GetLoadedWorkflows();
            foreach (var workflowInstance in loadedWorkflows)
            {
                var activity = workflowInstance.GetWorkflowDefinition();
                if (activity is FormsWorkflow)
                {
                    var formWorkflow = activity as FormsWorkflow;
                    var formData = WorkflowFacade.GetFormData(workflowInstance.InstanceId);

                    // From form data you can get bindings, not sure how to get EntityToken in general case
                }
            }
        }

Viewing all articles
Browse latest Browse all 2540

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>