CRM UI ile Alternate Key Oluşturma
Ayarlar - Özelleştirmeler - Sistem Özelleştirmeleri altından key gireceğimiz entitimizi seçelim. Entitimizi genişlettiğimizde Anahtarlar alanına tıklayalım ve yandaki tabdan Yeni diyerek bir key oluşturalım.
Açılan pencereden Alternate Key imizi tanımlayalım.
Alternate Key de aşağıdaki tipleri kullanabiliriz.
String
Integer
Decimal
NOT : Datetime, lookup , optionset alanlar için alternate keyi kullanamayız.
UpsertRequest Çalışma Şekli
UpsertRequest ile Alternate Key Kullanımı
KeyAttributeCollection keys = new KeyAttributeCollection();
keys.Add("accountnumber", "ERP-12345");
Entity accountEntity = new Entity("account",keys);
accountEntity["name"] = "Gökhan MENTEŞE";
accountEntity["fax"] = "1234579856";
UpsertRequest upreq = new UpsertRequest()
{
Target = accountEntity
};
UpsertResponse resp = (UpsertResponse)crmService.Execute(upreq);
if (resp.RecordCreated)
{
// Kayıt olusturuldu
}
else
{
// Kayıt güncellendi.
}
Firma Numarası ERP-12345 adlı kayıt olmadığı için sistemde yeni bir firma kayıtı oluşturuldu.
KeyAttributeCollection keys = new KeyAttributeCollection();
keys.Add("accountnumber", "ERP-12345");
Entity accountEntity = new Entity("account",keys);
accountEntity["name"] = "Gökhan MENTEŞE";
accountEntity["fax"] = "1234579856";
accountEntity["telephone1"] = "552-8795621";
UpsertRequest upreq = new UpsertRequest()
{
Target = accountEntity
};
UpsertResponse resp = (UpsertResponse)crmService.Execute(upreq);
if (resp.RecordCreated)
{
// Kayıt olusturuldu
}
else
{
// Kayıt güncellendi.
}
Alternate Key ile Farklı Kayıt Üzerinde İşlem Yapma
Aşağıdaki kod da , ilgili kişi kayıdı oluştururken Firma alanını alternate key ile veriyoruz.Sistemde bulduğu değeri bu alana setliyor.
KeyAttributeCollection keys = new KeyAttributeCollection();
keys.Add("accountnumber", "ERP-12345");
Entity contactEntity = new Entity("contact");
contactEntity["firstname"] = "Gökhan";
contactEntity["lastname"] = "MENTEŞE";
contactEntity["fax"] = "1234579856";
contactEntity["telephone1"] = "552-8795621";
contactEntity["parentcustomerid"] = new EntityReference("account",keys);
crmService.Create(contactEntity);
Yukarıdaki koda göre CRM de ERP-12345 adında bir firma bulamasaydı aşağıdaki hatayı verecekti.
A record with the specified key values does not exist in account entity
Hiç yorum yok:
Yorum Gönder