Skip to main content

Simple code to pull CRM info from PreImageEntity

This is simple code that I used in the process of a larger project that I am performing with CRM and SharePoint.

I am used to using the dynamic entity class to pull any info I need in the post stage of a plug-in for use in my code. I was getting an issue where the plug-in would fire on an update method and it would kick back an error "The given key was not present in the dictionary".

This is from the way I was trying to pull the attributes. Not being familiar with C#, it took me a while to find a solution for this. Browsing the web and the CrmSdk, I came across a method I could use, PreImageEntity and PostImageEntity, with the CRM Plug-In Registration tool.

Code:


public void Execute(IPluginExecutionContext context)

{

//Grab the account name from a preimage named "AccountEntity"

DynamicEntity AccountEntity = (DynamicEntity)context.PreEntityImages["AccountEntity"];


 

//PreEntity passes values as an object so, force accountName variable as a string

string accountName = AccountEntity["name"].ToString();

}

Comments

Popular posts from this blog

SQl Upgrade Error - Access to the Path C:\Program Files\Microsoft SQL Server\110\License Terms\SQLServer2012_License_SQLBI_1033.rtf is denied

SQL Upgrade Error - Access to License Denied Ahh a wonderful time to experience an error, when you are upgrading SQL, during a limited window for downtime.  Sop much for the weekend plans eh? No worries, this one is easy.  In my case I received the following when downgrading an edition for a reporting Server that houses several instances.  After the first one processed, I received this error: If I browse to that path, we notice the file is set to read only. Easy enough, lets un-check read only and try again.  Success!  I had to do this for each instance install.  So if you have multiple instances be prepared to set the file to read/write each time.

SCSM Data Warehouse Cube / Dimensions do not process - Event 33573 / 35574

Recently I received an alert from our SQL server "OLE DB error: OLE DB or ODBC Error: Operation Cancelled HY008.   Around that same time, I found a few errors in our Operations Manager log on our SCSM 2012 R2 DataWarehouse Management Server.  Specifically Events 33573 and 33574. Event 33573 Warning Message : An Exception was encountered while trying during cube processing.  Message=  Processing warning encountered - Location: , Source: Microsoft SQL Server 2012 Analysis Services Code: 1092550657, Description: Errors in the OLAP storage engine: The attribute key cannot be found when processing: Table: 'WorkItemDim', Column: 'WorkItemDimKey', Value: '18553'. The attribute is 'WorkItemDimKey'..     Well, that appears that a overnight job did not run for our SCSM data warehouse.  However, when I looked at the Data Warehouse Jobs in the SCSM Console, all of the status were either set to Not Started, or success. Going back to the logs on the SCSM

PowerShell - Add telnet client to Windows Server 2012 R2

I was trying to check port specific communication on  a server, so I decided to power up good old telnet.  Much to my surprise it was not installed on the Server. PowerShell to fix that issue! Add-WindowsFeature telnet-client  All set.  No Reboot needed. -AJ