Visual Studio LightSwitch #4: Relasi dan Computed Data

Hai.. Kembali lagi ke LightSwitch, setelah bermain-main dengan Interface dan Bahasa kali ini saya akan membahas tentang Relasi dan Computed Data.

Sedari awal kita hanya menggunakan sebuah table, bagaimana kalo kita punya banyak table dan memiliki relasi? Mari kita lakukan!

Kita buat dua table baru, seperti contoh-contoh pada umumnya, kita ambil kasus penjualan. Tabel pertama adalah TransaksiHeader, dimana table ini akan memiliki relasi dengan Customer (Customer melakukan transaksi), dan table kedua adalah TransaksiDetail dimana table ini akan berhubungan dengan TransaksiHeader (TransaksiDetail adalah item dari TransaksiHeader).

Dari Solution Explorer, klik kanan pada ApplicationData, Add Table, lalu perhatikan pada item-item diatas nama table, pilih Add: Relationship, dan bentuk relasi one to many dari Customer ke TransaksiHeader (lihat gambar). Visual Studio LightSwitch 2011 akan membantu kita dengan memberikan deskripsi tentang relasi yang kita buat di bawah gambar relasi. Lalu OK.

Lalu, pada TransaksiHeader kita tambahkan TanggalTransaksi dengan tipe Date. Hasilkan akan tampak seperti ini.

Lanjut ke table kedua, buat lagi table baru dengan langkah awal yang sama, beri nama TransaksiDetail. Buat relationship one to many dari TransaksiHeader ke TransaksiDetail.

Yap, dengan begitu kita sudah memiliki table yang saling ber-relasi. Customer – TransaksiHeader – TransaksiDetail.

Kita langsung lanjut ke acara Computed Data. Nah, kita tambahkan lagi atribut pada TransaksiDetail:

  • NamaItem, tipe data String
  • HargaSatuan, tipe data Money, ubah currency menjadi IDR
  • Quantity, tipe data Integer
  • SubTotal, tipe data Money, ubah currency menjadi IDR

Sekarang kita pilih SubTotal, lalu ke window Properties, lihat ada Is Computed? Check itu. Sekejap muncul link button Edit Method, klik saja, dan kita akan meluncur ke TransaksiDetail.cs, mari mulai sedikit menulis😀

Hasil dari pengolahan harus di-set ke dalam variable result. Dalam contoh ini saya membuat perhitungan agar atribut SubTotal akan terisi dengan hasil dari HargaSatuan * Quantity.

Kita buat satu atribut Computed lagi ya. Kali ini kita buat di TransaksiHeader. Tambahkan lagi sebuah atribut dengan nama GrandTotal dengan tipe data Money. GrandTotal akan berisi jumlah dari SubTotal item-item yang memiliki relasi dengan TransaksiHeader.

Seperti tadi, kita masuk ke Edit Method, TransaksiHeader.cs, lalu tuliskan:

Nah, membuat computed atribut sudah selesai, tapi jangan buru-buru di Run dulu, soalnya kita belum membuat screen untuk table Transaksi ini. Mari kita buat dulu.

Seperti cara yang sebelumnya telah dibahas. Solution ExplorerScreensAdd ScreenList and Detail Screen – untuk Screen Data pilih TransaksiHeaders – lalu jangan sampai ketinggalan centang TransaksiHeader TransaksiDetails.

Kita centang TransaksiHeader TransaksiDetails maksudnya supaya screen tersebut selain menampilkan details (atribut-atribut) dari TransaksiHeader sendiri, menampilkan juga TransaksiDetail- TransaksiDetail yang ber-relasi dengan TransaksiHeader yang dipilih. Setelah selesai membuat screen, silahkan Run.

Ketika kita Add TransaksiHeader, customer akan berupa list karena TransaksiHeader telah memiliki relasi dengan Customer. Ketika kita Add TransaksiDetail, SubTotal dan GrandTotal akan secara otomatis terhitung. Begitulah contoh penggunaan relasi table dan computed atribut.

Selesai sudah bahan kali ini.. Semoga bermanfaat. Topik selanjutnya akan membahas tentang Web – Desktop Switching, Publishing, dan Mekanisme Update

Terima kasih🙂

2 thoughts on “Visual Studio LightSwitch #4: Relasi dan Computed Data

  1. Pingback: Visual Studio LightSwitch #5: Web – Desktop Switching, Publishing, dan Mekanisme Update « Herwin’s Blog

  2. Pingback: Visual Studio LightSwitch #3: Interface dan Bahasa « Herwin’s Blog

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s