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

Thursday, December 13, 2012

using pre & post images

using


System.Collections.Generic;

using


Microsoft.Xrm.Sdk;

using


Microsoft.Xrm.Sdk.Query;

using


System.ServiceModel;

namespace


TestCompany.CRM.Plugin

{

public


class officeUpdate : IPlugin

{



public void Execute(IServiceProvider serviceProvider)

{



IPluginExecutionContext context;

IOrganizationServiceFactory factory;

IOrganizationService service;

Entity PreImage;

Entity PostImage;



try

{

context = (

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

factory = (IOrganizationServiceFactory)serviceProvider.GetService(

typeof(IOrganizationServiceFactory));

service = factory.CreateOrganizationService(context.UserId);

PreImage = (Entity)context.PreEntityImages[

"PreUpdateImage"];

PostImage = (Entity)context.PostEntityImages[

"PostUpdateImage"];



int _preOfficestatusVal = 0;



int _postOfficestatusVal = 0;



if (PreImage.Contains("new_officestatus"))

{ _preOfficestatusVal = ((OptionSetValue)PreImage[

"new_officestatus"]).Value; }



if (PostImage.Contains("new_officestatus"))

{ _postOfficestatusVal = ((OptionSetValue)PostImage[

"new_officestatus"]).Value; }



if ((_preOfficestatusVal == 100000002) && (_postOfficestatusVal == 100000001))

{



// Logic for - Sub converted to Regional

}

}



catch (FaultException<OrganizationServiceFault> e)

{



throw e;

}



finally

{

service =
null;

factory =

null;

context =

null;

PreImage =

null;

PostImage =

null;

}

}

}

}

No comments: