如何获取帐户的所有联系人并在MS Dynamics CRM中创建电子邮件列表?
问题描述:
我有一个账户ID,并希望获得该账户下的联系人的收集来建立一个电子邮件列表。如何获取帐户的所有联系人并在MS Dynamics CRM中创建电子邮件列表?
//build up Email
private Email BuildEmail(ActivityParty allcontacts){.... build my emailhere}
private List<Entity> GetAllContactsFromAccountId(Guid accountId, List<Entity> toList)
{
//how can I get all the contacts here
foreach (Entity contact in Account.Contact.Entities)//????
{
Entity activityParty = new Entity("activityparty");
activityParty["partyid"] = new EntityReference("??", e.Id);
if (toList.Any(t => t.GetAttributeValue<EntityReference>("partyid").Id == e.Id)) continue;
toList.Add(activityParty);
}
return toList;
}
答
你可以在接触实体帐户键 “parentcustomerid”。您可以通过以下帐户ID获取联系人收藏。
private EntityCollection getContactByAccountId(IOrganizationService service, Guid accountId)
{
QueryExpression query = new QueryExpression("contact");
query.ColumnSet = new ColumnSet(new string[] { "contactid", "fullname" });
query.Criteria.AddCondition(new ConditionExpression("parentcustomerid", ConditionOperator.Equal, accountId))
return service.RetrieveMultiple(query);
}
感谢您的回应,但它给了我转换错误。对于例如当我将它作为entitycollection在自定义工作流中返回到TargetOutput ref ...(“contact”)时,我得到并且Error不能将'entitycollection'转换为'entityreference' – transformer
我认为您可以使用Out put参数的EntityCollection类型。如[Output(“Contacts”)] [ReferenceTarget(“contact”)] public OutArgument Contacts {get;组; }。 显然你不能将entityCollection对象设置为entityReference。 –