public void Execute(IServiceProvider serviceProvider) { var tracingService = (ITracingService)serviceProvider.GetService(typeof(ITracingService)); var context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext)); if (!context.InputParameters.Contains("Target") || !(context.InputParameters["Target"] is Entity)) { return; } Entity entity = (Entity)context.InputParameters["Target"]; if (entity.LogicalName != "account") { return; } try { using (var webClient = new WebClient()) { var jsonResult = webClient.DownloadString("https://jsonplaceholder.typicode.com/users"); var parsedResult = JArray.Parse(jsonResult); tracingService.Trace("Number of users retrieved: {0}", parsedResult.Count); } IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory)); _organizationService = serviceFactory.CreateOrganizationService(context.UserId); _organizationContext = new OrganisationServiceContext(_organizationService); var emails = GetEmails(entity.Id); foreach (var email in emails) { if (string.IsNullOrEmpty(email.Subject)) { CloseEmailAsCancelled(email); } else { email.ScheduledStart = DateTime.Today.AddDays(10); UpdateEntity(email); } } Commit(); } catch (FaultException <OrganizationServiceFault> ex) { throw new InvalidPluginExecutionException("An error occurred in the FollowupPlugin plug-in.", ex); } catch (Exception ex) { tracingService.Trace("FollowupPlugin: {0}", ex.ToString()); throw; } }
public void Execute(IServiceProvider serviceProvider) { var tracingService = (ITracingService)serviceProvider.GetService(typeof(ITracingService)); var context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext)); if (!context.InputParameters.Contains("Target") || !(context.InputParameters["Target"] is Entity)) { return; } Entity entity = (Entity)context.InputParameters["Target"]; if (entity.LogicalName != "account") { return; } try { var cloudService = (IServiceEndpointNotificationService)serviceProvider.GetService(typeof(IServiceEndpointNotificationService)); if (cloudService == null) { throw new InvalidPluginExecutionException("Failed to retrieve the service bus service."); } string response = cloudService.Execute(new EntityReference("serviceendpoint", serviceEndpointId), context); IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory)); _organizationService = serviceFactory.CreateOrganizationService(context.UserId); _organizationContext = new OrganisationServiceContext(_organizationService); var emails = GetEmails(entity.Id); foreach (var email in emails) { if (string.IsNullOrEmpty(email.Subject)) { CloseEmailAsCancelled(email); } else { email.ScheduledStart = DateTime.Today.AddDays(10); UpdateEntity(email); } } Commit(); } catch (FaultException <OrganizationServiceFault> ex) { throw new InvalidPluginExecutionException("An error occurred in the FollowupPlugin plug-in.", ex); } catch (Exception ex) { tracingService.Trace("FollowupPlugin: {0}", ex.ToString()); throw; } }
protected override void Execute(CodeActivityContext executionContext) { //var tracingService = (ITracingService)serviceProvider.GetService(typeof(ITracingService)); //var context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext)); //if (!context.InputParameters.Contains("Target") || !(context.InputParameters["Target"] is Entity)) // return; //Entity entity = (Entity)context.InputParameters["Target"]; //if (entity.LogicalName != "account") // return; //IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory)); //_organizationService = serviceFactory.CreateOrganizationService(context.UserId); var tracingService = executionContext.GetExtension <ITracingService>(); //Create the context var context = executionContext.GetExtension <IWorkflowContext>(); var serviceFactory = executionContext.GetExtension <IOrganizationServiceFactory>(); _organizationService = serviceFactory.CreateOrganizationService(context.UserId); try { var accountId = Guid.Parse(AccountGuid.Get <string>(executionContext)); _organizationContext = new OrganisationServiceContext(_organizationService); var emails = GetEmails(accountId); foreach (var email in emails) { if (string.IsNullOrEmpty(email.Description)) { CloseEmailAsCancelled(email); } else { email.ScheduledStart = DateTime.Today.AddDays(10); UpdateEntity(email); } } Commit(); } catch (FaultException <OrganizationServiceFault> ex) { throw new InvalidPluginExecutionException("An error occurred in the UpdateActivities plug-in.", ex); } catch (Exception ex) { tracingService.Trace("FollowupPlugin: {0}", ex.ToString()); throw; } }
public void Connect() { using (var serviceProxy = _crmSvc.OrganizationServiceProxy) { serviceProxy.EnableProxyTypes(); using (var organisationContext = new OrganisationServiceContext(serviceProxy)) { //Your code goes here } } }
public void Execute(IServiceProvider serviceProvider) { var tracingService = (ITracingService)serviceProvider.GetService(typeof(ITracingService)); var context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext)); if (!context.InputParameters.Contains("Target") || !(context.InputParameters["Target"] is Entity)) { return; } Entity entity = (Entity)context.InputParameters["Target"]; if (entity.LogicalName != "account") { return; } try { IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory)); _organizationService = serviceFactory.CreateOrganizationService(context.UserId); _organizationContext = new OrganisationServiceContext(_organizationService); var accountId = entity.Id; var emails = GetEmails(accountId); foreach (var email in emails) { if (string.IsNullOrEmpty(email.Description)) { CloseEmailAsCancelled(email); } else { email.ScheduledStart = DateTime.Today.AddDays(10); UpdateEntity(email); } } Commit(); } catch (FaultException <OrganizationServiceFault> ex) { throw new InvalidPluginExecutionException("An error occurred in the UpdateActivities plug-in.", ex); } catch (Exception ex) { tracingService.Trace("FollowupPlugin: {0}", ex.ToString()); throw; } }
public IEnumerable <Email> GetEmails(Guid parentEntityId) { _organizationContext = new OrganisationServiceContext(_organizationService); var query = from email in _organizationContext.EmailSet where email.RegardingObjectId.Id == parentEntityId && email.StateCode == EmailState.Open select new Email { Id = email.Id, Description = email.Description }; return(query.ToList()); }
public DAL() { var connectionString = "AuthType=Office365;[email protected];Password=;Url=https://.crm6.dynamics.com"; var crmSvc = new CrmServiceClient(connectionString); using (var serviceProxy = crmSvc.OrganizationServiceProxy) { serviceProxy.EnableProxyTypes(); using (var organisationContext = new OrganisationServiceContext(serviceProxy)) { //Your code goes here } } }
public void SetOrganisationServiceProxy(IOrganizationService organisationService) { _organizationService = organisationService; _organizationContext = new OrganisationServiceContext(_organizationService); }
public BaseDataAccessLayer(IOrganizationService organizationService) { OrganizationService = organizationService; OrganizationContext = new OrganisationServiceContext(OrganizationService); }