public void VisitWorkItem(WorkItemNode workItemNode) { if (!_workflow.ExistsWorkStep(_path)) { Response = WorkflowHttpResponse.NotFound; } TryOperation( () => { HandleWorkItem(workItemNode); } ); }
private void HandleWorkItem(WorkItemNode workItemNode) { var workItem = workItemNode.GetWorkItem(_path); if (!_workflow.ExistsWorkItem(workItem.Id)) { _workflow.CreateWorkItem(workItem); Response = WorkflowHttpResponse.Created(workItem.Path); } else { _workflow.UpdateWorkItem(workItem); Response = WorkflowHttpResponse.Ok; } }