zoukankan      html  css  js  c++  java
  • Plugin Message 初步。转自http://dmcrm.blogspot.com/2008/08/starterexecutionmethod.html

    Starter Execution Method:

    public void Execute(IPluginExecutionContext context)
    {
    string opportunityid = "";

    switch(context.MessageName)
    {
    case "Create":
    if (context.OutputParameters.Properties.Contains("id"))
    {
    opportunityid = context.OutputParameters.Properties["id"].ToString();
    }
    break;
    case "Update":
    if (context.InputParameters.Properties.Contains(ParameterName.Target) && context.InputParameters.Properties[ParameterName.Target] is DynamicEntity)
    {
    DynamicEntity entity = (DynamicEntity)context.InputParameters.Properties[ParameterName.Target];
    opportunityid = ((Key)entity.Properties["opportunityid"]).Value.ToString();
    }
    break;
    case "SetState":
    if (context.InputParameters.Properties.Contains("EntityMoniker"))
    {
    if (context.InputParameters.Properties.Contains("State"))
    {
    entity = (Moniker)context.InputParameters.Properties[ParameterName.EntityMoniker];
    opportunityid = entity.Id.ToString();
    }
    }
    break;
    case "SetStateDynamicEntity":
    if (context.InputParameters.Properties.Contains("EntityMoniker"))
    {
    if (context.InputParameters.Properties.Contains("State"))
    {
    entity = (Moniker)context.InputParameters.Properties[ParameterName.EntityMoniker];
    opportunityid = entity.Id.ToString();
    }
    }
    break;
    case "Win":
    opportunityClose = (DynamicEntity)context.InputParameters["OpportunityClose"];
    Lookup WonLook = (Lookup)opportunityClose.Properties["opportunityid"];
    opportunityid = WonLook.Value.ToString();
    break;
    case "Lost":
    opportunityClose = (DynamicEntity)context.InputParameters["OpportunityClose"];
    Lookup LostLook = (Lookup)opportunityClose.Properties["opportunityid"];
    opportunityid = LostLook.Value.ToString();
    break;
    case "Assign":
    if (context.InputParameters.Properties.Contains("Assignee") && context.InputParameters.Properties["Assignee"] is SecurityPrincipal)
    {
    Moniker assignEntity = (Moniker)context.InputParameters.Properties["Target"];
    opportunityid = assignEntity.Id.ToString();
    }
    break;
    case "Delete":
    if (context.InputParameters.Properties.Contains("Target"))
    {
    Moniker monikerentity = null;
    monikerentity = (Moniker)context.InputParameters.Properties[ParameterName.Target];
    opportunityid = monikerentity.Id.ToString();
    }
    break;
    }
    }

    MessageName Class (CrmHelpers)

    AddItem
    AddMember
    AddMembers
    AddMembersByFetchXml
    Assign
    Book
    Clone
    CompoundCreate
    Create
    Delete
    DeliverIncoming
    DeliverPromote
    ExecuteWorkflow
    ExecuteWorkflow
    GrantAccess
    Handle
    Lose
    Merge
    ModifyAccess
    RemoveItem
    RemoveMember
    RemoveMembers
    RemoveMembersByFetchXml
    Reschedule
    Retrieve
    RetrieveExchangeRate
    RetrieveMultiple
    RetrievePrincipalAccess
    RetrieveSharedPrincipalsAndAccess
    RevokeAccess
    Route
    Send
    SetState
    SetStateDynamicEntity
    Update
    Win
  • 相关阅读:
    获取文字宽高
    jni中的参数含义
    jni开发中的常见错误
    指针只需要记住一点
    Eclipse web项目引用其它项目时的部署问题
    关于JAVA日志
    去掉Mybatis Generator生成的一堆 example
    怎样给Eclipse添加一个Xml模板
    Junit很少出现的一个问题 No tests found matching ...
    出现异常:Unsupported major.minor version
  • 原文地址:https://www.cnblogs.com/janmson/p/1490405.html
Copyright © 2011-2022 走看看