2015-02-04 2 views
0

남자. 새로운 레코드를 작성하여 온라인으로 CRM 2015로 메타 데이터를 푸시하는 웹 양식이 있습니다. 그러나 을 CRM에 새 레코드를 만들기 전에이 레코드 (이름, 성, DOB)가 중복되는지 확인하고 싶습니다. 중복되면 기존 레코드를 업데이트하고 그렇지 않으면 새 레코드를 만듭니다.CRM 내부에서 새로운 레코드를 만들기 전에 웹 양식의 데이터를 중복 검색을 통해 CRM 2015로 푸시

웹 양식 (ASP.NET APP)에서 모든 레코드 (이름, DOB)를 검색하고 일치하는 경우 새 레코드를 작성하거나 입력 메타 데이터와 비교합니다. 그러나 이것을 할 수있는 간단한 방법이 있는지 확실하지 않습니다.

의견이 있으십니까? 감사합니다.

답변

0

방금 ​​가져 왔다고 생각합니다.

bool hasDulicate = false;

 //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); 
     } 
관련 문제