public async Task <IActionResult> Put(string id, [FromBody] WorkflowTransitionFunction item) { return(await FunctionWrapper.ExecuteFunction(this, async() => { item.Id = new ObjectId(id); return await _workflowTransitionFunctionRepository.Update(item); })); }
public async Task <WorkflowTransitionFunction> Add(WorkflowTransitionFunction item) { try { item = await Hydrate(item); await _context.WorkflowTransitionFunctions.InsertOneAsync(item); return(await Get(item.Id)); } catch (Exception ex) { throw ex; } }
public async Task <WorkflowTransitionFunction> Update(WorkflowTransitionFunction item) { var filter = Builders <WorkflowTransitionFunction> .Filter.Eq("Id", item.Id); try { item = await Hydrate(item); await _context.WorkflowTransitionFunctions.ReplaceOneAsync(filter, item); return(await Get(item.Id)); } catch (Exception ex) { throw ex; } }
public async Task <IActionResult> Post([FromBody] WorkflowTransitionFunctionPostRequest request) { return(await FunctionWrapper.ExecuteFunction(this, async() => { if (request.TransitionId == ObjectId.Empty) { throw new ApplicationException("TransitionId is required."); } if (request.FunctionId == ObjectId.Empty) { throw new ApplicationException("FunctionId is required."); } var transFunction = new WorkflowTransitionFunction() { TransitionId = request.TransitionId, FunctionId = request.FunctionId, FunctionArgs = request.FunctionArgs }; return await _workflowTransitionFunctionRepository.Add(transFunction); })); }
private async Task <WorkflowTransitionFunction> Hydrate(WorkflowTransitionFunction item) { try { if (item.FunctionId == ObjectId.Empty || item.TransitionId == ObjectId.Empty) { throw new ApplicationException("Required fields missing."); } if (string.IsNullOrEmpty(item.FunctionArgs)) { throw new ApplicationException("Required fields missing."); } var func = await _workflowFunctionRepository.Get(item.FunctionId); item.Function = func ?? throw new ApplicationException("Cannot find function specified."); return(item); } catch (Exception ex) { throw ex; } }