Class PluginTestApi
Namespace: Casewhere.Runtime.DSL.Api
Assembly: Casewhere.Runtime.dll
public class PluginTestApi : IPluginApi, IDslApi
Inheritance
Implements
Inherited Members
object.ToString(), object.Equals(object), object.Equals(object, object), object.ReferenceEquals(object, object), object.GetHashCode(), object.GetType(), object.MemberwiseClone()
Extension Methods
ObjectExtension.ConvertToBsonValue(object), EnumExtensions.DeepClone<PluginTestApi>(PluginTestApi)
Constructors
PluginTestApi(IPluginApi, IPluginMethodService, IPluginRuleValidation, IWorkflowSimulator, IPluginTestScenarioManager)
public PluginTestApi(IPluginApi next, IPluginMethodService pluginMethodService, IPluginRuleValidation pluginRuleValidation, IWorkflowSimulator workflowSimulator, IPluginTestScenarioManager pluginTestScenarioManager)
Parameters
next
IPluginApi
pluginMethodService
IPluginMethodService
pluginRuleValidation
IPluginRuleValidation
workflowSimulator
IWorkflowSimulator
pluginTestScenarioManager
IPluginTestScenarioManager
Methods
Execute(string, string, Dictionary<string, string>)
Execute a plugin method. This method is deprecated and should only be used for legacy plugins.
public object Execute(string pluginName, string methodName, Dictionary<string, string> parameters)
Parameters
pluginName
string
Name of the plugin.
methodName
string
Invoked method name.
parameters
Dictionary<string, string>
Parameters passed to plugin.
Returns
Response data from plugin.
Examples
var parameters = new Dictionary<string, string>();
var parameters.Add("username", "msliteh");
var candidateObj = pluginApi.Execute("ExamplePlugin", "GetCandidateByUsername", parameters);
Invoke(string, string, IDictionary<string, object>)
Invoke a plugin method. This method cannot work with legacy plugins.
public PluginMethodResult Invoke(string pluginName, string methodName, IDictionary<string, object> parameters)
Parameters
pluginName
string
Name of the plugin.
methodName
string
Invoked method name.
parameters
IDictionary<string, object>
Parameters passed to plugin.
Returns
PluginMethodResult
A key-value data collection returned from plugin. Values must be simple type such as string, int, bool, DateTime, etc. User-defined objects are not supported and must be serialized to string before returned to Casewhere.
Examples
// Construct plugin parameters
var parameters = new Dictionary<string, object>();
parameters.Add("$skip", 10);
parameters.Add("$take", 10);
parameters.Add("$sortBy", "Gender");
parameters.Add("$asc", true);
// Invoke plugin method
var pluginApi = ctx.Use<IPluginApi>>();
var pluginResult = pluginApi.Invoke("ExamplePlugin", "SearchCandidates", parameters);
// Retrieve data from plugin results
var total = pluginResult.Get<int>("Total");
var candidates = pluginResult.GetArray("ActualData");