首先,我对Microsoft Dynamics CRM Online相对较新。
我的目标:我想从我们的CRM中获取当前活动广告系列列表(在我的情况下是一个事件列表),并将其列在预订表单的下拉列表中。然后我想让一个人填写表格并选择他们想参加的活动。点击提交后,将在CRM中创建一个联系人,该人员将被添加到"回复"作为参加的部分。
到目前为止我所拥有的:
public void Run(String connectionString, String AddDetails)
{
try
{
// Establish a connection to the organization web service using CrmConnection.
Microsoft.Xrm.Client.CrmConnection connection = CrmConnection.Parse(connectionString);
// Obtain an organization service proxy.
// The using statement assures that the service proxy will be properly disposed.
using (_orgService = new OrganizationService(connection))
{
// Instantiate an account object.
Entity account = new Entity("contact");
// Set the required attributes. For account, only the name is required.
// See the metadata to determine
// which attributes must be set for each entity.
account["lastname"] = AddDetails;
_orgService.Create(account);
}
}
// Catch any service fault exceptions that Microsoft Dynamics CRM throws.
catch (FaultException<Microsoft.Xrm.Sdk.OrganizationServiceFault>)
{
// You can handle an exception here or pass it back to the calling method.
throw;
}
}
我可以创建联系人并检索此记录的唯一ID。这非常有效。我只想检索一个广告系列并将其附加到下一个活动/广告系列中。
我的问题:我似乎无法获得将广告系列添加到网页中的广告系列列表,然后将此人添加到广告系列中。
我已经阅读了很多关于创建令人困惑的快速广告系列的文章。我想要达到的标准是什么?还是不可能?任何人都可以提供一些代码让我开始朝着正确的方向前进吗?
提前致谢
答案 0 :(得分:0)
首先,您需要检索广告系列
QueryExpression qe = new QueryExpression("campaign");
qe.ColumnSet = new ColumnSet(true); // this will retrieve all fields, you should only retrieve attribute you need ;)
EntityCollection collection = _orgService.RetrieveMultiple(qe);
然后,您可以遍历此集合以获取所需的列表。
然后,当您的用户提交自定义表单webresource或其他应用程序后,您需要在CRM中创建Campaign响应
var campaignResponse = new Entity("campaignresponse");
campaignResponse["regardingobjectid"] = new EntityReference("campaign", YOUR CAMPAIGN GUID);
campaignResponse["customer"] = new EntityReference("lead/account/contact", RECORDGUID);
_orgService.Create(campaignResponse);
这可以让你走上正轨;)