Esempio n. 1
0
        //[WebInvoke(Method = "PUT", UriTemplate = "/{workflowDefinitionId}/?provider={provider}")]
        public WorkflowDefinitionViewModel SaveWorkflowDefinition(WorkflowDefinitionViewModel workflowDefinitionViewModel, Guid workflowDefinitionId, string provider)
        {
            var request = new RestRequest(this.ServiceUrl + "/{workflowDefinitionId}/?provider={provider}", Method.PUT);

            request.AddUrlSegment("workflowDefinitionId", workflowDefinitionId.ToString());
            request.AddUrlSegment("provider", provider);

            request.AddParameter("application/json", SerializeObject(workflowDefinitionViewModel), ParameterType.RequestBody);

            return(ExecuteRequest <WorkflowDefinitionViewModel>(request));
        }
Esempio n. 2
0
        private WorkflowDefinitionViewModel CreateWorkflowDefinitionViewModel(WorkflowDefinitionRecord workflowDefinitionRecord)
        {
            if (workflowDefinitionRecord == null)
            {
                throw new ArgumentNullException("workflowDefinitionRecord");
            }

            var workflowDefinitionModel = new WorkflowDefinitionViewModel {
                Id   = workflowDefinitionRecord.Id,
                Name = workflowDefinitionRecord.Name
            };

            dynamic workflow = new JObject();

            workflow.Activities = new JArray(workflowDefinitionRecord.ActivityRecords.Select(x => {
                dynamic activity  = new JObject();
                activity.Name     = x.Name;
                activity.Id       = x.Id;
                activity.ClientId = x.Name + "_" + x.Id;
                activity.Left     = x.X;
                activity.Top      = x.Y;
                activity.Start    = x.Start;
                activity.State    = FormParametersHelper.FromJsonString(x.State);

                return(activity);
            }));

            workflow.Connections = new JArray(workflowDefinitionRecord.TransitionRecords.Select(x => {
                dynamic connection        = new JObject();
                connection.Id             = x.Id;
                connection.SourceId       = x.SourceActivityRecord.Name + "_" + x.SourceActivityRecord.Id;
                connection.TargetId       = x.DestinationActivityRecord.Name + "_" + x.DestinationActivityRecord.Id;
                connection.SourceEndpoint = x.SourceEndpoint;
                return(connection);
            }));

            workflowDefinitionModel.JsonData = FormParametersHelper.ToJsonString(workflow);

            return(workflowDefinitionModel);
        }