private IWorkflowNode ParseWorkStep() { //<path>,<parentPath>,<worksteptype>,<workItemClass>,<title>,<ordinal> var node = new WorkStepNode(); node.Step = ExtractValue("step", s => s, null); node.Type = ExtractValue <WorkStepType?>("type", s => (WorkStepType)Enum.Parse(typeof(WorkStepType), s, true), null); node.WorkItemClass = ExtractValue("class", s => s, null); node.Ordinal = ExtractValue <int?>("ordinal", s => int.Parse(s), null); node.Title = ExtractValue("title", s => s, null); return(node); }
public void VisitWorkStep(WorkStepNode workStepNode) { if (_path != WorkStep.Root.Path && !_workflow.ExistsWorkStep(_path)) { Response = WorkflowHttpResponse.NotFound; } TryOperation( () => { WorkStep workStep = workStepNode.GetWorkStep(_path); _workflow.CreateWorkStep(workStep); Response = WorkflowHttpResponse.Created(workStep.Path); } ); }