Microsoft Dynamics CRM 2011 Plugin Activate And Deactivate
在给crm2011写plugin时我们有时候不让禁用表单,因此需要给表单的“禁用”或“激活”写一个plugin事件处理一些内容
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Sdk.Query;
using Microsoft.Xrm.Sdk.Messages;
using Microsoft.Xrm.Sdk.Workflow.Activities;
using Microsoft.Crm.Sdk.Messages;
namespace statetest
{
public class Deactivate:IPlugin
{
public void Execute(IServiceProvider serviceprovider)
{
IPluginExecutionContext context = (IPluginExecutionContext)serviceprovider.GetService(typeof(IPluginExecutionContext));
try
{
if (context.InputParameters.Contains("EntityMoniker") && context.InputParameters["EntityMoniker"] is EntityReference
&& context.MessageName.ToLower() == "setstatedynamicentity")
{
IOrganizationServiceFactory factory = (IOrganizationServiceFactory)serviceprovider.GetService(typeof(IOrganizationServiceFactory));
IOrganizationService service = factory.CreateOrganizationService(context.UserId);
EntityReference enref = (EntityReference)context.InputParameters["EntityMoniker"];
if (enref==null)
{
return;
}
Guid entityId = enref.Id;
if (entityId!=Guid.Empty)
{
// to do
}
}
}
catch (Exception ex)
{
throw new InvalidPluginExecutionException(ex.Message);
}
}
}
}

浙公网安备 33010602011771号