在创建帐户记录时连接联系人和帐户名称的插件

时间:2015-12-22 17:41:37

标签: c# visual-studio plugins crm

我不熟悉插件和C#,我需要创建一个插件,在创建帐户记录时连接联系人和帐户名的文本值。例如:ABC公司“ - John Smith”我正在使用Visual Studio和CRM 2016 Online(试用版)。以下是我到目前为止的情况:

使用Microsoft.Xrm.Sdk; 使用System;

命名空间CRMPluginProject4 {     公共类ConcatPlugin:IPlugin     {         #region安全/不安全配置设置         private string _secureConfig = null;         private string _unsecureConfig = null;

@{
  ModelState state;
  var numMembers = ViewData.ModelState.TryGetValue("NumMembers", out state)
    ? int.Parse(state.Value.AttemptedValue)
    : Model.Members.Count;

  if (numMembers != Model.Members.Count)
  {
    Model.Members = Enumerable.Repeat(new GroupMember(), numMembers).ToList();
  }
}
@Html.HiddenFor(model => model.NumMembers)
@Html.EditorFor(model => model.Members)

}

1 个答案:

答案 0 :(得分:0)

PJM,您可以使用java脚本而不是编写插件来执行此操作。

如果您想使用插件,请使用以下代码

if (context.InputParameters.Contains("Target") && context.InputParameters["Target"] is Entity)
                    {
                        //Get the target property and check whether its a contact.
                        Entity target = (Entity)context.InputParameters["Target"];

                        string primaryContactId = target.Attributes.Contains("primarycontactid") ? ((EntityReference)target.Attributes["primarycontactid"]).Name : string.Empty;
                        string accountName = target.Attributes.Contains("name") ? target.Attributes["name"].ToString() : string.Empty;
                        target["name"] = accountName + "-" + primaryContactId;

                    }

请确保在创建和更新帐户的预操作中不要这样做。希望这对你有所帮助。如果您需要更多帮助,请告诉我们。