Quantcast
Channel: CRM Development 論壇
Viewing all articles
Browse latest Browse all 10280

Delete message plugin not working

$
0
0

I am trying to write a plugin for account delete. So that when an account is deleted a task is created with just the subject field auto populated to "Created through plugin". Below is the code for my plugin:

using System;
using System.ServiceModel;
using Microsoft.Xrm.Sdk;

namespace Microsoft.Crm.Sdk.Samples
{
     public class FollowupPlugin: IPlugin
    {
        
        public void Execute(IServiceProvider serviceProvider)
        {
            
            ITracingService tracingService =(ITracingService)serviceProvider.GetService(typeof(ITracingService));
            IPluginExecutionContext context = (IPluginExecutionContext)
                serviceProvider.GetService(typeof(IPluginExecutionContext));
            if (context.InputParameters.Contains("Target") &&
                context.InputParameters["Target"] is EntityReference)
            {
                
                Entity entity = (Entity)context.InputParameters["Target"];
               if (entity.LogicalName != "account")
                    return;
                try
                {
                   Entity followup = new Entity("task");
                   followup["subject"] = "Created through plugin";
                    IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
                    IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId);
                    
                    tracingService.Trace("FollowupPlugin: Creating the task activity.");
                    service.Create(followup);
                }
               
                catch (FaultException<OrganizationServiceFault> ex)
                {
                    throw new InvalidPluginExecutionException("An error occurred in the FollupupPlugin plug-in.", ex);
                }
                                catch (Exception ex)
                {
                    tracingService.Trace("FollowupPlugin: {0}", ex.ToString());
                    throw;
                }
            }
        }
    }
}

But my plugin in not working whenever i delete an account. I registered the plugin step on post-operation and asynchronous event. Please help me in solving this issue


Viewing all articles
Browse latest Browse all 10280

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>