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); }
private void TryOperation(Action action) { try { action.Invoke(); } catch (ArgumentException e) { Response = WorkflowHttpResponse.BadRequest(e); } catch (InvalidOperationException e) { Response = WorkflowHttpResponse.Forbidden(e); } catch (Exception e) { Response = WorkflowHttpResponse.InternalServerError(e); } }