gpt4 book ai didi

c# - 在 CRM 2011 插件中将成员添加到营销列表

转载 作者:行者123 更新时间:2023-12-02 22:42:27 26 4
gpt4 key购买 nike

我希望有人能在这里帮助我。我找到了一篇文章,它为您提供了将多个实体(成员)添加到营销列表的一小段代码。到目前为止,一切都很好。我遇到了这个问题。我有一个自定义查找字段,它在营销成员列表中获取另一个营销列表(有联系人、客户或潜在客户)。现在我需要将这些成员迁移(添加)到我的新营销列表中。我的代码:

  1. AddListMembersListRequest request = new AddListMembersListRequest();
2. request.ListId = Origmarketing_List_Id.Id;
3. request.MemberIds = new Guid[1];
4. request.MemberIds[0] = guid;
5. AddListMembersListResponse resp = (AddListMembersListResponse)service.Execute(request);

第 2 行是我从 EntityReference(查找字段获取另一个营销列表)获得的 ID,现在我设置的第三行和第四行是我非常困惑的事情,但我仍然确定我是就在这里,因为我将它设置为 listmemberid。在这个例子中,我只有一个原因想尝试一下它是如何工作的。第 4 行 bdw 中的 guid 获得了正确的值,它在我的代码顶部声明(我将它输出到另一个字段只是为了检查它是否获取了正确的值)。当您想添加多个实体时,也有人可以展示您将如何执行此操作吗?谢谢。我正在预操作(创建)上注册我的插件。插件本身不会引发任何错误,但它似乎并没有在我的新列表中添加任何成员。如果有人能帮助我,我将不胜感激。非常感谢您。

最佳答案

首先把event改成post-operation,因为你还没有创建实体的GUID,事实上你也没有entity本身,所以才叫pre-operation。要添加多个实体,请尝试像下面的代码一样传递 GUID 数组:

    // Setup the CrmConnection and OrganizationService instances
CrmConnectionInstance = new CrmConnection(ConfigurationConstants.CrmConnectionName);
OrgServiceInstance = new OrganizationService(CrmConnectionInstance);
// Create the marketing list
Guid NewMarketingListId = Guid.Empty;
Microsoft.Xrm.Sdk.Entity CurrentList = new Microsoft.Xrm.Sdk.Entity(MarketingListConstants.MarketingListEntityName);
CurrentList[MarketingListConstants.MarketingListTypeAttribute] = false;
CurrentList[MarketingListConstants.ListNameAttribute] = "NameOfList";
// For contacts, a value of 2 should be used.
CurrentList[MarketingListConstants.CreatedFromCodeAttribute] = new OptionSetValue(2);
// Actually create the list
NewMarketingListId = OrgServiceInstance.Create(CurrentList);
// Use the AddListMembersListRequest to add the members to the list
List<Guid> MemberListIds = new List<Guid>();
// Now you'll need to add the Guids for each member to the list
// I'm leaving that part out as adding values to a list is very basic.
AddListMembersListRequest AddMemberRequest = new AddListMembersListRequest();
AddMemberRequest.ListId = NewMarketingListId;
AddMemberRequest.MemberIds = memberIds.ToArray();
// Use AddListMembersListReponse to get information about the request execution
AddListMembersListResponse AddMemberResponse = OrgServiceInstance.Execute(AddMemberRequest) as AddListMembersListResponse;

关于c# - 在 CRM 2011 插件中将成员添加到营销列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10603129/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com