private WorkflowHttpResponse DeleteWorkItem(string path, string id) { if (!_workflow.ExistsWorkItem(id)) { return(WorkflowHttpResponse.NotFound); } var wi = _workflow.GetWorkItem(id); if (wi.Path != path) { return(WorkflowHttpResponse.NotFound); } try { _workflow.DeleteWorkItem(id); } catch (Exception e) { return(WorkflowHttpResponse.Forbidden(e)); } return(WorkflowHttpResponse.Ok); }
public void ShouldMoveWorkItemWhenPostingExistingWorkItemToDifferentPath() { using (_mocks.Record()) { Expect.Call(_workflow.ExistsWorkItem("cr1")).Repeat.AtLeastOnce().Return(true); _workflow.UpdateWorkItem(WorkItem.New("cr1", "/analysis")); LastCall.Repeat.Once(); } using (_mocks.Playback()) { var request = CreateCsvPostRequest("/analysis", "id=cr1"); Assert.AreEqual(HttpStatusCode.OK, _httpHandler.HandleRequest(request).HttpStatusCode); } }
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; } }
public bool ExistsWorkItem(string id) { return(_workflow.ExistsWorkItem(id)); }