Interrupting a process in a script

This example shows the functions for interrupting a process instance (the current process instance cannot be interrupted). The code interrupts the process without checking if the user running the script has special permissions. 

Script with PublicAPI

Documentation on PublicAPI is available here
The script below is relevant for ELMA version 3.8 to 3.12.1 inclusive.
PublicAPI.Services.Security.RunWithElevatedPrivilegies(() => PublicAPI.Processes.WorkflowInstance.TerminateProcess(context.WorkflowInstance, "Reason"));

Script without PublicAPI


using EleWise.ELMA.Security;
using EleWise.ELMA.Services;
using EleWise.ELMA.Workflow.Managers;

Script text:

Locator.GetServiceNotNull<SecurityService>().RunWithElevatedPrivilegies(() => WorkflowInstanceManager.Instance.Terminate(context.WorkflowInstance, "Reason"));