2

我们需要为新联系人添加附件。我们正在使用 APEX 类来添加新联系人。我们能够创建新的联系人。我们需要维护联系人的订单信息。这对于可用字段/自定义字段是不可能的。因此,我们将尝试使用附件。一个客户可能有多个订单。您能否让我知道如何使用 c# 为联系人添加附件。

请找到以下代码片段:

Contact newContact = new Contact();

newContact.LastName = downloadInformation.Name;
newContact.Email = downloadInformation.Email;

try
{
    SforceService salesForce = new SforceService();
    MySFServiceService mySFServive = new MySFServiceService();
    mySFServive.SessionHeaderValue = new SForce.MyService.SessionHeader();

    LoginResult loginResult = salesForce.login("id", "password");
    mySFServive.SessionHeaderValue.sessionId = loginResult.sessionId;
    // UserRegistration is a method defined in our apex class.
    // parametter 1: contact object parameter
    // 2: account name
    mySFServive.UserRegistration(newContact, "Test Account");
}
catch (Exception ex)
{
}
4

1 回答 1

3

将企业 WSDL 导入您的应用程序(看起来您已经拥有),然后创建附件对象的实例,将其主体设置为订单 blob,并将 parentId 设置为联系人的 ID。因此,您需要更新您的自定义 UserRegistration 调用以返回创建的contactId,然后您就可以这样做。

salesforce.SessionHeaderValue = new SforceService.SessionHeader();
salesforce.SessionHeaderValue.sessionId = loginResult.sessionId;
salesforce.Url = loginResult.serverUrl;
...
String contactId = mySFervive.UserRegistration(....);
Attachment a = new Attachment();
a.Body = readFileIntoByteArray(someFile);
a.parentId = contactId;
a.Name = "Order #1";

SaveResult sr = salesforce.create(new SObject [] {a})[0];
if (sr.success){ 
// sr.id contains id of newly created attachment
} else {
 //sr.errors[0] contains reason why attachment couldn't be created.
}
于 2012-09-21T14:34:34.100 回答