Пример #1
0
        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);
     }
 }
Пример #3
0
        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));
 }