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;
            }
        }
Exemple #3
0
 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;
 }