在Salesforce中映射潜在客户的自定义字段

时间:2014-06-05 10:08:13

标签: c# dictionary collections salesforce

我想将自定义铅的字段映射到自定义的联系人字段'使用binding.convertLead()转换时。

当Lead的自定义字段与联系人映射时,它应该复制我们从UI手动执行的操作(导航到 SetUp-&gt; Customize-&gt; Leads-&gt; Fields 然后在< em> Lead Custom Fields&amp; Relationships 部分 Map Lead Fields 按钮。)

我有C#代码将潜在客户转换为联系人。 但是,我需要将自定义字段的铅映射到自定义联系字段。

喜欢例如:

1)Lead.Newsletter__c(导联中的复选框类型的自定义字段)

2)Contact.Newsletter__c(联系人复选框类型的自定义字段)

3)现在,如果选中Lead.Newsletter__c,那么当我将任何潜在客户转换为联系人时,应自动检查Contact.Newsletter__c

我可以使用Partener WSDL代理类的describeSObjects来获取所有自定义字段,但仍然无法找到应该进行更改的位置

2 个答案:

答案 0 :(得分:1)

如果你想要一个简单的设计,基本上我会在静态映射器类中进行。我们肯定需要更多信息来帮助您,但除此之外,这里有一些 伪代码 (非生产代码)应该是一个足够的设计模式。

public static class CustomMapper
{
    public static void leadToContact(Lead lead, ID contactID)
    {
        var contact = new Contact(contactID);
        ///do mapping here
        ///eg
        ///returnval.Newsletter__c = Lead.Newsletter__c;

        contact.save();
    }
}

然后用于:

//convert the lead to a contact prior to usage here, and get the resulting contact id
CustomMapper.leadToContact(myOldLead, myContactID);

如果您执行转换,则在使用更新执行自定义映射后立即对用户进行即时检查。如果没有更多信息,这是我可以推荐的最佳通用设计模式。

答案 1 :(得分:0)

你还没有提供很多细节,但是你可以使用Linq投影吗?

例如Leads.Select(x =&gt; new Contact {Newsletter = x.Newsletter});