protected override void Execute(CodeActivityContext executionContext) { var serviceFactory = executionContext.GetExtension <IOrganizationServiceFactory>(); var tracingService = executionContext.GetExtension <ITracingService>(); WorkflowContext = executionContext.GetExtension <IWorkflowContext>(); OrganizationService = serviceFactory.CreateOrganizationService(WorkflowContext.UserId); try { using (DataAccessLayerFactory = new DataAccessLayerFactory(OrganizationService, tracingService)) { CustomTracingService = DataAccessLayerFactory.GetTracingService(); PostExecute(executionContext); } } catch (FaultException <OrganizationServiceFault> ex) { throw new InvalidPluginExecutionException("An error occurred in the UpdateActivities plug-in.", ex); } catch (Exception ex) { CustomTracingService.Trace("FollowupPlugin: {0}", ex.ToString()); throw; } }
public void Execute(IServiceProvider serviceProvider) { var tracingService = (ITracingService)serviceProvider.GetService(typeof(ITracingService)); PluginContext = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext)); if (!PluginContext.InputParameters.Contains("Target") || !(PluginContext.InputParameters["Target"] is Entity)) { return; } Entity = (Entity)PluginContext.InputParameters["Target"]; if (Entity.LogicalName != ExpectedEntityLogicalName) { return; } IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory)); OrganizationService = serviceFactory.CreateOrganizationService(PluginContext.UserId); DataAccessLayerFactory = new DataAccessLayerFactory(OrganizationService, tracingService); CustomTracingService = DataAccessLayerFactory.GetTracingService(); try { PostExecute(serviceProvider); } catch (FaultException <OrganizationServiceFault> ex) { throw new InvalidPluginExecutionException("An error occurred in this plug-in.", ex); } catch (Exception ex) { CustomTracingService.Trace("Plugin Exception: {0}", ex.ToString()); throw; } }
public ICustomTracingService GetTracingService() { if (_customTracingService == null) { _customTracingService = new CrmTracing(_tracingService); } return(_customTracingService); }
public UpdateRelatedWorkOrder(IWorkOrderDataAccessLayer workOrderDataAccessLayer, ICustomTracingService tracingService) { _workOrderDataAccessLayer = workOrderDataAccessLayer; _tracingService = tracingService; }
public UpdateEmailLogic(IEmailDataAccessLayer emailDataAccessLayer, ICustomTracingService tracingService) { _emailDataAccessLayer = emailDataAccessLayer; _tracingService = tracingService; }