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
  • 相关阅读:
    Python
    Linux, Nginx
    Python
    C#图像处理(各种旋转、改变大小、柔化、锐化、雾化、底片、浮雕、黑白、滤镜效果)
    堆——神奇的优先队列(下)
    堆——神奇的优先队列(上)
    二叉树
    开启“树”之旅
    巧妙的邻接表(数组实现)
    Dijkstra最短路算法
  • 原文地址:https://www.cnblogs.com/janmson/p/1490405.html
Copyright © 2011-2022 走看看