Accessing Arguments
How to access
To access the arguments passed to the executed object (SQL Script, Report, etc), you can use the Context.Arguments API.
namespace Local{using System;using System.Collections.Generic;using System.Threading.Tasks;using Profitbase.Invision.Scripting.Dynamic;public class MyMacros : MacroExpansionProvider{public string CheckArguments(){// will throw invalid cast exception if @EmployeeID cannot be cast to intif(this.Context.Arguments.TryGetValue<int>("@EmployeeID", out int employeeId)){// do something with employeeId}if(this.Context.Arguments.TryGetValue("@ManagerID", out object managerId)){// do something with Manager ID}// Check if the @CustomerID was passedbool customerIdExists = this.Context.Arguments.Contains("@CustomerID");// will throw if KeyNotFoundException if @SalesRepID does not exist.// will throw invalid cast exception if @SalesRepID cannot be cast to stringvar salesRepId = this.Context.Arguments.GetValue<string>("@SalesRepID");object objValue = this.Context.Arguments.GetValue("@SomeObjectID");return string.Empty;}}}