For your first Plugin we will take a test scenario – on create of contact record our plugin will forcefully update its email address to “testemail@gmail.com” and to achieve this you just need to follow the below steps.
There are two parts to successfully run a plugin in MSCRM
1) Create Your Plugin
2) Resister your plugin
Plugin Creation
Â
Step 1 – Open Visual studio
Step 2 – Go to File – New – and Click on Project
Step 3 – A dialogue will appear, from left navigation panel select Class Library template in Visual C#Â and Enter Project and Solution name and hit on OK Button
Step 4 –Â Visual studio will create and open a blank class library template.Right Click on Project and click on Add References option
Step 5 –Â Reference Manager dialogue will open.From left navigation panel go to Assemblies – Framework then select two references and click on OK button
1)System.Runtime.Serialization
2) System.ServiceModel
Step 6 –Â Â Right Click on Project and again click on Add References option, then in Reference Manager dialogue from left navigation panel go to Browse – Click on Browse button then select two references
1)System.Runtime.Serialization
2) System.ServiceModel
Step 7 –Â Â After Click on Browse button go to your sdk (downloaded from prerequisites) – bin, then select the following dlls files and click on add and then OK button
1) miscrosoft.xrm.client.dll
2) Microsoft.Xrm.Sdk.dll
Step 8 –Â Â Open the class named Class.cs from solution explorer and modify the below code in it.
If your namespace name and class name is different then remember to verify and update it.
Code Snippet :Â
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Xrm.Sdk;
namespace My_First_Plugin
{
  public class Class1 : IPlugin   //{inherit the class Iplugin in your class}
  {
    public void Execute(IServiceProvider serviceProvider)     //{add the execute method}
    {
      // create context , service factory and service objects
      IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(Microsoft.Xrm.Sdk.IPluginExecutionContext));
      IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
      IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId);
      //to enter  value in Email field in contact entity
      //create an object of predefined class Entity and pass entity name as its parameter
      Entity Object = new Entity(“contact”);  // in place of contact you can write schema name of entity on which you want to preform operations
      Object.Attributes.Add(“emailaddress1”, “testemail@gmail.com”);  //emailaddress1 is the schema name of the Email field in contact entity
       //testemail@gmail.com is the value
      //to update the record service.Update(object of the entity)
      service.Update(Object);
    }
  }
}
After updating your code your code will look like this
Step 9 –Â Right click on Project and click on Properties
Step 10 –Â Â Now, we have to create a key. Go to Signing – select the checkbox “Sign the assembly” and click on <New..> option
Step 11 –Â Â Enter any name you want for your Key and click on OK button
Step 12 –Â Â Click on Save Button
Step 13 –Â Go to BUILD from ribbon menu and select Build Solution option