IOrganizationService Create Metodu
Bu yazı 24 Mayıs 2019 tarihinde Medium/@dynamics365 altında yayınlanmıştır. 21 Mayıs 2020 tarihinde emregulcan.com altında taşınmıştır.
Merhaba,
Bu yazıda Dynamics 365 CE (CRM) SDK ‘da IOrganizationService
interface ‘in sağlamış olduğu Create
metodunu inceleyeceğiz.
Create
metodu, Dynamics 365 CE (CRM) ‘de herhangi bir Entity (Varlık) üzerinde yeni bir kayıt oluşturmamızı sağlamaktadır. Temel mantık olarak ilgili Entity için geçerli olan database tablosuna yeni bir satır (Row) eklemektedir.
Dynamics 365 CE (CRM) ‘de direkt olarak database işlemleri yapılmamakta. Bu nedenle database üzerinde manuel yapacağınız herhangi bir Insert
işlemi sistemin işleyişini olumsuz olarak etkileyecektir. Ayrıca manuel olarak Insert yapmanız durumunda, ilgili Entity (Varlık) için geçerli olan Plugin ya da Workflow (İş Akışları) tetiklenmeyeceği için sistem bütünlüğü bozulabilir.
Önemli Noktalar
- Create metodu sadece 1 parametre almaktadır. Bu parametre Entity türünde, oluşturulacak olan Entity bilgisini içeren değerdir.
- Create metodu oluşturulan kaydın Dynamics 365 CE (CRM) ID bilgisini
GUID
formatında döner. - Create metodu ile sadece 1 kayıt (Row) oluşturabiliriz.
- İşlem yapan kullanıcı (
IOrganizationService
‘i oluşturan kimlik sahibi ya daCallerId
olarak verilmiş SystemUser), ilgili Entity (Varlık) üzerinde mutlaka Create ve Read yetkilerine sahip olmalıdır. - Oluşturulan kaydın CreatedBy (Oluşturan) ve Owner (Sahip)* alanları, IOrganizationService ‘i oluşturan kimlik bilgileri için geçerli olan kullanıcı olarak atanacaktır. Eğer istersek Entity kaydını oluştururken
ownerid
attribute ekleyerek kaydın sahiplik bilgisini değiştirebiliriz. - Create metodunu kullanabileceğimiz Entity (Varlık) güncel listesine buradan ulaşabilirsiniz.
* Owner (Sahip) bilgisinin olması için ilgili Entity (Varlık) ‘nin Ownership (Sahiplik) bilgisi User or Team (Kullanıcı veya Takım) olarak ayarlanmalıdır.
.NET Projesi – Örnek Kod
.NET
projelerimizde Microsoft.CrmSdk.CoreAssemblies
kütüphanelerini kullanarak Dynamics 365 CE (CRM) ‘de yeni bir kayıt oluşturabiliriz. Bu kütüphaneleri NuGet üzerinden projemize dahil edebiliriz.
Dynamics 365 CE (CRM) SDK kütüphanelerini projemize nasıl ekleyeceğimizi daha önce burada detaylı olarak anlatmıştım.
Yukarıdaki örnekte CreateContact
isimli metoda parametre olarak gönderilen değerler ile contact Entity (Varlık) üzerinde yeni bir kayıt oluşturuyoruz.
Bu örnekte Late-bound Entity türünde işlem yaptım, daha önce Entity Nedir? başlıklı yazımda Entity, Early-bound ve Late-bound kavramlarını detaylı olarak anlatmıştım, ilgili yazıya buradan erişebilirsiniz.
Bu metodumuzu uygulamamızın içinde herhangi bir yerde kullanabiliriz.
Yukarıdaki ekran görüntüsünde görüldüğü üzere kaydımız oluştu ve bir ID değeri elde ettik.
Umarım faydalı bir yazı olmuştur.
IOrganizationService metotları için oluşturduğum Index yazısına buradan ulaşabilirsiniz.
Dynamics 365 CE (CRM) SDK konusunda ilgili tüm yazılara tek nokta üzerinden ulaşmak isterseniz http://www.emregulcan.com/dynamics365-sdk adresine bakabilirsiniz.