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

本文关键字:联系人 插件 创建 记录 连接 | 更新日期: 2023-09-27 18:27:42

我不熟悉插件和C#,我需要创建一个插件,在创建帐户记录时连接联系人和帐户名称的文本值。例如:ABC公司"-约翰·史密斯"我正在使用Visual Studio和CRM 2016 Online(试用版)。以下是我目前所拥有的:

使用Microsoft.Xrm.Sdk;使用系统;

命名空间CRMPluginProject4{公共类ConcatPlugin:IPlugin{#区域安全/不安全配置设置private字符串_secureConfig=null;private字符串_unsecureConfig=null;

    public ConcatPlugin(string unsecureConfig, string secureConfig)
    {
        _secureConfig = secureConfig;
        _unsecureConfig = unsecureConfig;
    }
    #endregion
    public void Execute(IServiceProvider serviceProvider)
    {
        ITracingService tracer = (ITracingService)serviceProvider.GetService(typeof(ITracingService));
        IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
        IOrganizationServiceFactory factory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
        IOrganizationService service = factory.CreateOrganizationService(context.UserId);
        try
        {
            Entity entity = (Entity)context.InputParameters["Target"];
            //TODO: Do stuff


      }
        catch (Exception e)
        {
            throw new InvalidPluginExecutionException(e.Message);
        }
    }
}

}

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

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;
                    }

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