Tag Cloud

CRM 2011 (161) CRM 4.0 (144) C# (116) JScript (109) Plugin (92) Registry (90) Techpedia (77) PyS60 (68) WScript (43) Plugin Message (31) Exploit (27) ShellCode (26) FAQ (22) JavaScript (21) Killer Codes (21) Hax (18) VB 6.0 (17) Commands (16) VBScript (16) Quotes (15) Turbo C++ (13) WMI (13) Security (11) 1337 (10) Tutorials (10) Asp.Net (9) Safe Boot (9) Python (8) Interview Questions (6) video (6) Ajax (5) VC++ (5) WebService (5) Workflow (5) Bat (4) Dorks (4) Sql Server (4) Aptitude (3) Picklist (3) Tweak (3) WCF (3) regex (3) Config (2) LINQ (2) PHP (2) Shell (2) Silverlight (2) TSql (2) flowchart (2) serialize (2) ASHX (1) CRM 4.0 Videos (1) Debug (1) FetchXml (1) GAC (1) General (1) Generics (1) HttpWebRequest (1) InputParameters (1) Lookup (1) Offline Plug-ins (1) OutputParameters (1) Plug-in Constructor (1) Protocol (1) RIA (1) Sharepoint (1) Walkthrough (1) Web.config (1) design patterns (1) generic (1) iframe (1) secure config (1) unsecure config (1) url (1)

Pages

Friday, October 19, 2012

CRM 2011 Plugin: Generic Plugin Skeleton

using System;

using System.Diagnostics;

using System.Linq;

using System.ServiceModel;

 

/*

       CRM Namespaces

       --------------

       Remember to add the following references from the CRM SDK \bin folder

              Microsoft.Xrm.Client.dll

              Microsoft.Xrm.Sdk.dll

*/

using Microsoft.Xrm.Sdk;

using Microsoft.Xrm.Sdk.Query;

using Microsoft.Xrm.Sdk.Messages;

 

namespace CRM_2011_Plugin_Skeleton

{

    public class MyPluginSkleton : IPlugin

    {

        public void Execute(IServiceProvider serviceProvider)

        {

            IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));

 

            // TODO - If you require tracing, uncomment the following line

            // ITracingService trace = (ITracingService)serviceProvider.GetService(typeof(ITracingService));

 

            Entity entity = null;

 

            // Check if the InputParameters property bag contains a target

            // of the current operation and that target is of type DynamicEntity.

            if (context.InputParameters.Contains("Target") && context.InputParameters["Target"] is Entity)

            {

                // Obtain the target business entity from the input parmameters.

                entity = (Entity)context.InputParameters["Target"];

 

                // TODO Test for an entity type and message supported by your plug-in.

                if (context.PrimaryEntityName != "<entity logical name>") { return; }

                if (context.MessageName != "<message>") { return; }

            }

            else

            {

                return;

            }

 

            try

            {

                IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));

                IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId);

 

                // TODO - Plugin code goes here

            }

            catch (FaultException<OrganizationServiceFault> ex)

            {

                throw new InvalidPluginExecutionException("An error occurred in the plug-in.", ex);

            }

        }

    }

}

 

 

No comments: