public PassThroughContext ToPassthroughContext() { IOrganizationService organizationService = OrganizationServiceFactory.CreateOrganizationService(CallingUserId); var passThroughContext = new PassThroughContext(organizationService, TracingService); return(passThroughContext); }
private void Initialize() { ThrowsException = ThrowsException.HasValue ? ThrowsException.Value : true; Stopwatch = Stopwatch.StartNew(); TracingService = (ITracingService)ServiceProvider.GetService(typeof(ITracingService)); if (TracingService == null) { throw new InvalidPluginExecutionException(TracingServiceMessage); } PluginExecutionContext = (IPluginExecutionContext)ServiceProvider.GetService(typeof(IPluginExecutionContext)); if (PluginExecutionContext == null) { throw new InvalidPluginExecutionException(PluginExecutionContextMessage); } OrganizationServiceFactory = (IOrganizationServiceFactory)ServiceProvider.GetService(typeof(IOrganizationServiceFactory)); if (OrganizationServiceFactory == null) { throw new InvalidPluginExecutionException(OrganizationServiceFactoryMessage); } OrganizationService = OrganizationServiceFactory.CreateOrganizationService(PluginExecutionContext.UserId); if (OrganizationService == null) { throw new InvalidPluginExecutionException(OrganizationServiceMessage); } ElevatedOrganizationService = OrganizationServiceFactory.CreateOrganizationService(null); if (ElevatedOrganizationService == null) { throw new InvalidPluginExecutionException(ImpersonatedOrganizationServiceMessage); } }
internal protected PluginExecutionBundle(IServiceProvider serviceProvider) { ServiceProvider = serviceProvider ?? throw new ArgumentNullException(nameof(serviceProvider)); TracingService = (ITracingService)serviceProvider.GetService(typeof(ITracingService)); PluginExecutionContext = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext)); OrganizationServiceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory)); OrganizationService = OrganizationServiceFactory.CreateOrganizationService(PluginExecutionContext.UserId); }
internal protected WorkflowActivityExecutionBundle(CodeActivityContext codeActivityContext) { CodeActivityContext = codeActivityContext ?? throw new ArgumentNullException(nameof(codeActivityContext)); TracingService = codeActivityContext.GetExtension <ITracingService>(); WorkflowContext = codeActivityContext.GetExtension <IWorkflowContext>(); OrganizationServiceFactory = codeActivityContext.GetExtension <IOrganizationServiceFactory>(); OrganizationService = OrganizationServiceFactory.CreateOrganizationService(WorkflowContext.UserId); }
public PluginContext(IServiceProvider serviceProvider) { this.EnsureNotNull(serviceProvider); ServiceProvider = serviceProvider; ExecutionContext = serviceProvider.GetService <IPluginExecutionContext>(); OrganizationServiceFactory = serviceProvider.GetService <IOrganizationServiceFactory>(); OrganizationService = OrganizationServiceFactory.CreateOrganizationService(ExecutionContext.UserId); TracingService = new Diagnostics.TracingServiceWrapper(serviceProvider.GetService <ITracingService>()); OrganizationServiceContext = new Lazy <OrganizationServiceContext>(() => { if (_disposed) { throw new ObjectDisposedException(nameof(OrganizationServiceContext)); } return(new OrganizationServiceContext(OrganizationService)); }); }
private void Initialize() { ThrowsException = ThrowsException.HasValue ? ThrowsException.Value : true; Stopwatch = Stopwatch.StartNew(); TracingService = CodeActivityContext.GetExtension <ITracingService>(); if (TracingService == null) { throw new InvalidPluginExecutionException(TracingExtensionMessage); } WorkflowContext = CodeActivityContext.GetExtension <IWorkflowContext>(); if (WorkflowContext == null) { throw new InvalidPluginExecutionException(WorkflowExtensionMessage); } OrganizationServiceFactory = CodeActivityContext.GetExtension <IOrganizationServiceFactory>(); if (OrganizationServiceFactory == null) { throw new InvalidPluginExecutionException(OrganizationServiceFactoryExtensionMessage); } OrganizationService = OrganizationServiceFactory.CreateOrganizationService(WorkflowContext.UserId); if (OrganizationService == null) { throw new InvalidPluginExecutionException(OrganizationServiceMessage); } ElevatedOrganizationService = OrganizationServiceFactory.CreateOrganizationService(null); if (ElevatedOrganizationService == null) { throw new InvalidPluginExecutionException(ImpersonatedOrganizationServiceMessage); } }