XAF(Xtra App Framework);
hem Web hem Windows uygulamaları oluşturmayı sağlayan esnek bir
DevExpress framework yapısıdır. İskeletini, MVC
n-tier mimarisi oluşturur.
1. Visual
Studio’da File -> New -> Project seçilir.
2.Solda
Visual C# DevExpress XAF seçilir. Gelen seçeneklerden Dxperience XAF Cross-Platform Application seçip proje isimlendirilir.
3. Proje oluşturulduktan sonra Solution Explorer’ da
toplamda 5 adet proje oluşur. Bu projeler temel olarak XAF’ in
oluşturduğu projelerdir. Bu projeleri tek tek açıklamak gerekirse;
Solution1.Module projesi, yapacağımız uygulamanın (hem
web hem windows) veritabanı işlerini yürüten ve yöneten kısımdır.
Solution1.Module.Web projesi
ise, Web tarafı için Database erişim katmanıdır. Ayrıca bu projede sadece web’
te olmasını istediğimiz bazı özellikleri de ekleyebilir yada çıkartabiliriz.
Solution1.Module.Win aynı
bir üsteki projenin windows versiyonu.
Solution1.Win ise,
windows arayüz katmanıdır. Bu katmana ihtiyacıız olan modülleri ekleyerek
projemize yetenek kazandıracağız.
Solution1.Web ise
, web arayüz katmanıdır.
4. Ben
Addressbook adlı projemde, Personel bilgilerini bir tabloda ve personelin detaylı
adres bilgilerini diğer tabloda tutacağım.
Custom Form’ da ise kendi oluşturduğum bir form sayfasını, programda
çağıracağım.
5. Öncelikle
Addressbook.Module içerisinde;
- BusinessObject klasörüne Personel.cs , PersonelAddress.cs ve frmPersonel.cs adında üç dosya eklenir.
- DatabaseUpdate klasörüne Updater.cs dosyası eklenir.
- Editors klasörüne CustomUserControlViewItem.cs dosyası eklenir.
6. Personel.cs
dosyasında;
Burada IPersonel adında bir interface oluşturulur. Bu
interface içinde personel tablosunda da tutulacak olan değişkenleri tanımlanır
ve en sonda PersonelAddress PersonelAddress {get; set;} yazılmasının nedeni
PersonelAddress.cs dosyasında da Personel Personel {get; set; } tanımlamasını
yaparak bu iki tabloyu birbirine bağlamaktır.
7. Personel.cs
dosyasında interface tanımlamasından sonra içindeki değişkenlerin
sınıfları teker teker oluşturulur.
Private ile belirlediğim f ile başlayan değişkenlerden
referans alarak kendi nesneleri set edilir. Interface yazarken değişken tipleri
nasıl tanımlandıysa fonksiyonlarda da aynı şekilde devam edilir. En sonuna da oturum kontrolü için;
public Personel(Session session) : base(session) { } eklenir. Aynı
şekilde PersonelAddress.cs dosyası da
yazılır. Bu sefer IPerAddress adında bir interface oluşturulur ve
PersonelAddress tablosunu oluşturan column isimleri tipleri ile beraber
tanımlanıp fonksiyonlarında çağırılır. Burada da Personel Personel {get; set;} yapılır. İki tablo
bağlanmış olur.
8. Addressbook.Module
içerisinde Model.DesignedDiffs.xafml dosyasında NavigationItems içerisine
aşağıdaki gibi item eklenir. Bu , oluşturulacak olan Custom
Form içindir. ImageName ile programdaki logo, Caption ile programda görünecek
olan adı ve id’si ile ne tür view olacağı belirlenir.
9. Addressbook.Win
içerisinde Controls adında bir klasör açılır ve içine frmPersonel.cs adında bir
Windows Form yapılır.
10. frmPersonel.cs
kod kısmına gerekli kütüphaneler eklenir.
IXpoSessionAwareControl interface tanımlanır. Daha sonra
nesnelerin altına bu interface update session kodu yazılır. Buradaki XpoSession, XpoHelper’da oluşturulacağı için
XpoHelper classı yazılır. Devamına aşağıdaki kodlar yazılır. OnLoad ile formda oluşturduğumuz nesnelerin yüklenmesi
sağlanır.
11. Updater.cs
dosyası içine aşağıdaki kodlar yazılır.
...
Yazımın tamamına ve screenshotlara buradan erişebilirsin.
Hocam faydalı paylasiminiz için teşekkürler
YanıtlaSilHocam faydalı paylasiminiz için teşekkürler
YanıtlaSilRica ederim, paylaştıkça çoğalması dileğiyle.
Silmerhaba iyi günler bana yardım edebilirmisinz acaba ???
YanıtlaSil