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号
浙公网安备 33010602011771号