![](/img/trans.png)
[英]How do I associate an account to a contact using C#/SDK in Microsoft Dynamics/CRM?
[英]How do I search for lead or account using Dynamics CRM SDK?
有人可以提供一个示例代码,用于通过CRM SDK中的电子邮件检索潜在客户吗? 有没有像这样工作的内置功能?
Guid leadID = someLeadManager.GetByEmail(email);
假设您已获得该服务 ,则可以执行以下查询。
private Guid GetGuidByEmail(String email)
{
QueryExpression query = new QueryExpression
{
EntityName = "lead",
ColumnSet = new ColumnSet("emailaddress1"),
Criteria = new FilterExpression
{
Filters =
{
new FilterExpression
{
Conditions =
{
new ConditionExpression(
"emailaddress1", ConditionOperator.Equals, email)
}
}
}
}
};
Entity entity = service.RetrieveMultiple(query).Entities.FirstOrDefault();
if(entity != null)
return entity.Id;
return Guid.Empty;
}
现在,如果您需要对部分电子邮件的匹配进行过滤,则查询会变短,相反,您可以使用LINQ进行选择。
private IEnumerable<Guid> GetGuidsByEmail(String email)
{
QueryExpression query = new QueryExpression
{
EntityName = "lead",
ColumnSet = new ColumnSet("emailaddress1")
};
IEnumerable<Entity> entities = service.RetrieveMultiple(query).Entities;
return entities
.Where(element => element.Contains("emailaddress1"))
.Where(element => Regex.IsMatch(element["emailaddress1"], email))
.Select(element => element.Id);
}
您想要检索具有特定邮件的潜在客户吗? 在这种情况下可以做这样的事情。
private EntityCollection GetLeadsWithEmail(
IOrganizationService service, String wantedEmailAddress)
{
QueryExpression query = new QueryExpression();
query.EntityName = "lead";
// the columns you want
query.ColumnSet = new ColumnSet() { AllColumns = true };
query.Criteria = new FilterExpression();
query.Criteria.FilterOperator = LogicalOperator.And;
query.Criteria.Conditions.Add(new ConditionExpression(
"emailaddress1", ConditionOperator.Equal, wantedEmailAddress));
return service.RetrieveMultiple(query);
}
这将检索在emailaddress1字段中具有wantedEmailAddress的所有潜在客户。 然后,您可以检查是否有任何匹配来自您的呼叫;
EntityCollection leadCollection = GetLeadsWithEmail(
service, "someone@example.com");
Entity entity = leadCollection[0];
您可能应首先使用leadCollection.Entities.Count
检查集合中的实体数量,然后从那里继续。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.