Bir önceki makalemizde kaldığımız yerden devam edelim :
Dynamics 365 v9 ile birlikte değiştirilmiş olan yeni javascript modelimizi incelemeye formcontext nesnesi ile devam edelim.
Bu yazı serisi biraz uzun olacak gibi duruyor.
Daha detaylı kullanımlarına bile gelemedik
Neyse çok uzatmadan konuyu formContext içerisinde ne gibi değişikliklerimi var görsellerle çizerek hiyerarşiyi inceleyelim.
Resim 1
Resim 1 üzerinde görüldüğü üzere, formContext ile data işlemlerinde kullanılabilecek modellerin hiyerarşisi bu şekilde. Efsane olarak belirtilen kutucuklar ise bizlere koleksiyon döndürmekte
Yani formContext.attributes dediğimizde, ilgili context üzerindeki tüm attribute’ler koleksiyon olarak bize geri döndürülüyor. Ne güzel değil mi?
Bir diğer Şablonumuz ise, Görsel operasyonlar ile ilgili.
Resim 2
Resim 2 de de görüldüğü üzere, yine Efsane olarak belirtilmiş modeller bizlere koleksiyon döndürmekte ve hiyerarşi ise göründüğü gibi çok değişiklik olmadan korunmuş vaziyette.
Hatta küçük bir örnek ile ilerleyecek olursak,
Resim 3
Yukarıdaki örnekte eski yani deprecated olan versiyondaki kullanım ve Yeni API ile var olan kullanım şekillerine örnek verildi.
Burada dikkat edeceğimiz nokta ise, yeni kullanımda ilgili fonksiyonun executionContext isimli bir parametre alıyor olması. İlgili parametreyi nasıl göndereceğiz dersek, aşağıdaki görsele bakabilirsiniz.
Resim 4
Resim 4 üzerinde sarı ile işaretlediğim alanı seçmeniz takdirde, ilgili fonksiyondaki ilk parametreye, executionContext’I dolduracaktır. Bu sayede yeni API üzerinde context nesnesine erişim sağlayabiliyoruz.
Peki yeni Xrm objesinin içerisinde hangi modeller mevcut.
- Device
- Encoding
- Navigation
- Panel
- Utility
- WebApi
- Online
- Offline
Bu modellerden Panel ve utility haricindeki modeller Xrm objesine yeni eklenmiş modellerdir.
Yeni eklenmiş modellerimiz içerisinde ise en çok seveceğimiz ve bizi birçok kod kalabalığı ve saçlarımızı yolmaktan kurtaracak olan WebApi modelidir.
Peki nedir bu? içerisinde neler var ki biz saçımızı yolmaktan kurtuluyoruz?
Hadi beraber bakalım.
Fonksiyon | Açıklama |
createRecord | Yeni entity oluşturabiliyoruz |
deleteRecord | Entity silebiliyoruz |
isAvailableOffline | İlgili varlığın offline özelliğinin aktiflik durumunuBoolean tipte bize geri veriyor |
retrieveRecord | Bildiğimiz retrieve fonksiyonu |
retrieveMultipleRecords | Bu da bildiğimiz retrieveMultiple fonksiyonu |
Execute | Execute Requesti atabiliyoruz |
executeMultiple | Birden fazla executeRequestini aynı anda atabiliyoruz |
Tablo 4
Evet yukarıda gördüğünüz tablodaki fonksiyonlar sayesinde eski HttpRequestlerinden, headerlardan vs. kurtulmuş oluyoruz. Entity adını ver, parametreleri ver işini halletsin. Hatta callback fonksiyonları da var
Benim gördüğümde en çok sevindiğim yeni özellik işte bunlardı. Gerçekten yeni developmentlarda işimizi çok kolaylaştıracak.
Xrm.Navigation ve Xrm.Device altındaki özellikleri ise bir sonraki makaleye bırakalım. Hem o makalede ilgili fonksiyonların özelliklerini ve kullanımlarını da inceliyor oluruz.
Bu kadar yeniliği ve güzelliği önce biraz hazmetmek gerek
Yıllarca bize çektirdikleri çilelerden sonra iş sadece küçük birkaç makale okuyarak işimizi görebilmemizi sağlıyor artık.
Bir sonraki makalemizde yine javascript apilerini incelemeye devam ediyor olacağız.
Şimdilik hoşçakalın, MSHOWTO ile kalın.
Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.
Referanslar
TAGS: dynamics 365 deprecated api, dynamics 365 new javascript api, dynamics crm javascript, Xrm.Page.context