Asp.net 在CRM内部创建新记录之前,通过重复检测将数据从web表单推送到CRM 2015
伙计们。 我有一个web表单,通过创建新记录将元数据推送到CRM 2015 online。但是在CRM中创建新记录之前,我想检查这些记录(名字、姓氏、DOB)是否重复。如果重复,则更新现有记录;如果不重复,则创建新记录 我目前的想法是,在web表单(ASP.NET应用程序)上检索所有记录(名称、DOB)并与输入元数据进行比较,如果匹配,则更新或创建新记录。但我不确定是否有简单的方法来做到这一点 你有什么建议吗?Asp.net 在CRM内部创建新记录之前,通过重复检测将数据从web表单推送到CRM 2015,asp.net,record,dynamics-crm-2013,duplicate-data,Asp.net,Record,Dynamics Crm 2013,Duplicate Data,伙计们。 我有一个web表单,通过创建新记录将元数据推送到CRM 2015 online。但是在CRM中创建新记录之前,我想检查这些记录(名字、姓氏、DOB)是否重复。如果重复,则更新现有记录;如果不重复,则创建新记录 我目前的想法是,在web表单(ASP.NET应用程序)上检索所有记录(名称、DOB)并与输入元数据进行比较,如果匹配,则更新或创建新记录。但我不确定是否有简单的方法来做到这一点 你有什么建议吗? 谢谢 我想我刚刚拿到了 bool hasdulitate=假 //d
谢谢 我想我刚刚拿到了 bool hasdulitate=假
//duplicate detection
FilterExpression codeFilter = new FilterExpression(LogicalOperator.And);
codeFilter.AddCondition("firstname", ConditionOperator.Equal, firstname.Text);
codeFilter.AddCondition("lastname", ConditionOperator.Equal, lastname.Text);
QueryExpression query = new QueryExpression
{
EntityName = "contact",
ColumnSet = new ColumnSet(true), // we assume you want to retrieve all the fields
Criteria = codeFilter
};
EntityCollection records = service.RetrieveMultiple(query);
int totalrecords = records.Entities.Count;
foreach (Entity record in records.Entities)
{
if (record["emailaddress1"] != null)
{
record["emailaddress1"] = email.Text;
record["mobilephone"] = phone.Text;
proxy.Update(record);
hasDulicate = true;
}
}
if (hasDulicate == false)
{
Entity contact = new Entity("contact");
contact["firstname"] = Convert.ToString(firstname.Text);
contact["lastname"] = Convert.ToString(lastname.Text);
contact["emailaddress1"] = Convert.ToString(email.Text);
contact["mobilephone"] = Convert.ToString(phone.Text);
Guid conid = proxy.Create(contact);
}