diff --git a/XrmOrg/XrmOrg.XrmSolution/BusinessLogic/Helpers/HelperPlugin.cs b/XrmOrg/XrmOrg.XrmSolution/BusinessLogic/Helpers/HelperPlugin.cs index 524f136..ef70880 100644 --- a/XrmOrg/XrmOrg.XrmSolution/BusinessLogic/Helpers/HelperPlugin.cs +++ b/XrmOrg/XrmOrg.XrmSolution/BusinessLogic/Helpers/HelperPlugin.cs @@ -66,6 +66,32 @@ public static T GetEntity return entity.ToEntity(); } + /// + /// + /// + /// + /// + /// + public static Guid? GetSubordinateId + (IPluginExecutionContext context, ITracingService trace) + { + if (!context.InputParameters.Contains("SubordinateId")) + { + trace.Trace("Context does not contain 'SubordinateId'"); + return null; + } + + if (!(context.InputParameters["SubordinateId"] is Guid?)) + { + var typeName = context.InputParameters["SubordinateId"].GetType().Name; + trace.Trace("'SubordinateId' is not an Guid. It's of type: {0}", typeName); + return null; + } + + var subordinateId = (Guid?)context.InputParameters["SubordinateId"]; + + return subordinateId; + } public static Tuple GetEntityMoniker(IPluginExecutionContext context, ITracingService trace)