public async Task <IActionResult> Reactivate(string id, [FromBody] ReactivateCommand reactivateCommand, CancellationToken token) { try { reactivateCommand.CaseInstanceId = id; await _mediator.Send(reactivateCommand, token); return(new OkResult()); } catch (UnknownCasePlanInstanceException) { return(this.ToError(new Dictionary <string, string> { { "bad_request", "case instance doesn't exist" } }, HttpStatusCode.NotFound, Request)); } catch (UnknownCasePlanElementInstanceException) { return(this.ToError(new Dictionary <string, string> { { "bad_request", "case instance element doesn't exist" } }, HttpStatusCode.NotFound, Request)); } catch (AggregateValidationException ex) { return(this.ToError(ex.Errors, HttpStatusCode.BadRequest, Request)); } catch (Exception ex) { return(this.ToError(new Dictionary <string, string> { { "invalid_request", ex.Message } }, HttpStatusCode.BadRequest, Request)); } }
public Task PublishExternalEvt(string evt, string casePlanInstanceId, string casePlanElementInstanceId, Dictionary <string, string> parameters, CancellationToken token) { IBaseRequest request = null; switch (evt) { case CMMNConstants.ExternalTransitionNames.AddChild: request = new AddChildCommand(casePlanInstanceId, casePlanElementInstanceId) { Parameters = parameters }; break; case CMMNConstants.ExternalTransitionNames.Close: request = new CloseCommand(casePlanInstanceId) { Parameters = parameters }; break; case CMMNConstants.ExternalTransitionNames.Complete: request = new CompleteCommand(casePlanInstanceId, casePlanElementInstanceId) { Parameters = parameters }; break; case CMMNConstants.ExternalTransitionNames.Disable: request = new DisableCommand(casePlanInstanceId, casePlanElementInstanceId) { Parameters = parameters }; break; case CMMNConstants.ExternalTransitionNames.Occur: request = new OccurCommand(casePlanInstanceId, casePlanElementInstanceId) { Parameters = parameters }; break; case CMMNConstants.ExternalTransitionNames.Reactivate: request = new ReactivateCommand(casePlanInstanceId, casePlanElementInstanceId) { Parameters = parameters }; break; case CMMNConstants.ExternalTransitionNames.Reenable: request = new ReenableCommand(casePlanInstanceId, casePlanElementInstanceId) { Parameters = parameters }; break; case CMMNConstants.ExternalTransitionNames.Resume: request = new ResumeCommand(casePlanInstanceId, casePlanElementInstanceId) { Parameters = parameters }; break; case CMMNConstants.ExternalTransitionNames.Suspend: request = new SuspendCommand(casePlanInstanceId, casePlanElementInstanceId) { Parameters = parameters }; break; case CMMNConstants.ExternalTransitionNames.Terminate: request = new TerminateCommand(casePlanInstanceId, casePlanElementInstanceId) { Parameters = parameters }; break; case CMMNConstants.ExternalTransitionNames.ManualStart: request = new ActivateCommand(casePlanInstanceId, casePlanElementInstanceId) { Parameters = parameters }; break; } return(_mediator.Send(request, token)); }