From fb42aea4196c2071d03396977d3a9c39d72676a8 Mon Sep 17 00:00:00 2001 From: Thomas Birch Date: Tue, 5 Sep 2023 09:15:30 +0200 Subject: [PATCH] Added helper to get subordinate id. This is used during the merging of entities. --- .../BusinessLogic/Helpers/HelperPlugin.cs | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) 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)