Custom Control: Modifikasi Gridview

Dalam review akhir tahun tentang kompetensi di ASP webform ada satu point tentang membuat custom control. Karena proyek webform yang saya kerjakan sebelumnya tidak melakukan custom control, akhirnya saya di minta untuk membuat sampel tentang hal ini.

Disini saya akan memodifikasi gridview. Saya akan menambahkan satu kolom checkbox di kolom pertama.  Jika dibutuhkan kita tinggal set property true atau false untuk mengaktifkan.
Read the rest of this entry

Belajar Design Pattern – Singleton Pattern

Apa itu design pattern?

Sebelum mengenal design pattern, saya sering menggunakan berbagai macam teknik pemrograman, menggabungkan berbagai macam kode dari berbagai sumber untuk memecahkan suatu masalah. Hasilnya, aplikasi yang saya buat sangat tidak konsisten, terutama untuk kasus yang sama, saya dan programer lain bias menggunakan teknik OOP yang berbeda. Ketika partner saya resign dari projek, saya sangat kesulitan ketika harus melakukan maintanance aplikasi. Saya melihat banyak redundansi kode dimana-mana. Hanya untuk merubah 1 bagian kode, saya bisa membuka puluhan file di berbagai folder. Ini belum termasuk masalah-masalah yang timbul setelah implementasi.
Dalam job deskripsi saya sekarang, ada tuntutan untuk mengerti tentang design pattern. Dari sinilah saya mulai mengenal dan mempelajari tentang Design pattern.

Read the rest of this entry

Binding Bulan (month) ke DropdownList

Disini saya ingin mencatat bagaimana cara binding nama-nama bulan (month) ke dropdownlist secara dinamis.
Nama bulan diambil dari class DateTimeFormatInfo.

Berikut kode selengkapnya. Asumsikan kita punya dropdownlist dengan ID=”Dropdownlist1″.

Private Sub BindMonthToDropdown()
	Dim info As System.Globalization.DateTimeFormatInfo
	info = System.Globalization.DateTimeFormatInfo.GetInstance(Nothing)

	Me.Dropdownlist1.Items.Clear()
	For i As Integer = 1 To 12
		Me.Dropdownlist1.Items.Add(New ListItem(info.GetMonthName(i), i.ToString()))
	Next
End Sub

Semoga bermanfaat

Happy Coding

Extension Method

Istilah extension method ini baru aku kenal baru-baru ini. Meski sebenarnya aku sudah pernah memakainya beberapa kali. Aku menyebutnya static class. Ya, static class, karena di C# ini adalah class dengan keyword static. Namun ketika aku coba membuat extension method di visual basic, ternyata tidak sama. Karena di vb kita tidak bisa menambahkan keyword ‘shared’ di depan nama class.

Untuk membuat ex-method di vb kita menggunakan “Module”. Berikut ini adalah contoh extension method untuk merubah boolean menjadi bit. Nilai boolean “True” akan diubah menjadi 1 dan “False” menjadi 0.

Imports System.Runtime.CompilerServices

Module BooleanExtension

<Extension ()>  _
Public Function ToBitInt (ByVal value As Boolean) As Integer
     If value = True Then
          Return 1
     Else
          Return 0
     End If
End Function

End Module

Semoga bermanfaat.
Happy coding.

Melihat dan Modifikasi XML SOAP WCF Web Service

Di projek terakhir, saya mendapat tugas membuat program untuk melakukan signing terhadap request ke web service. Selain itu ada permintaan agar XML SOAP request yang telah di signing dan XML SOAP response dari web service disimpan ke dalam database untuk keperluan audit. Ketika melakukan invoke ke web service, tidak ada property yang menjelaskan struktur/bentuk dari XML SOAP nya. Lalu bagaimana cara mendapatkan XML SOAP yang dikirim maupun yang diterima dari web service?
Read the rest of this entry

Mendapatkan Enumerasi Member Dari Description Attribute

Sebelumnya saya pernah menulis tentang mendapatkan string deskripsi dari enumerasi (baca disini).
Kali ini saya menulis bagaimana melakukan kebalikannya, Mendapatkan enumerasi member berdasarkan string deskripsi.

Misal kita punya enumerasi semacam ini

public Enum JenisHewan
{
   [Description("Cow")]
   Sapi,

   [Description("Cat")]
   Kucing,

   [Description("Dog")]
   Anjing
}

Dari enum tersebut, misal kita mendapat input “cow”, “Cat” atau “Dog”, nah bagaimana kita mendapatkan value Sapi, Kucing atau anjing dari input tersebut?

static JenisHewan MapperStringToEnumHelper(string str)
{
    var tipe = typeof(JenisHewan);
    int returnValue = 0;

    foreach (FieldInfo fi in tipe.GetFields())
    {
        DescriptionAttribute attibute = (DescriptionAttribute)Attribute.GetCustomAttribute(fi, typeof(DescriptionAttribute));

        if (attibute != null)
        {
            if (attibute.Description == str)
            {
                returnValue = (int)fi.GetValue(null);
                break;
            }
        }
    }

    return (JenisHewan)returnValue;
}

Sekarang bagaimana mendapat enumerasi dari string, misal mendapatkan enum ‘Sapi’ dari string “Sapi” atau mendapatkan enum ‘Kucing’ dari string “Kucing”?

static JenisHewan MapperStringToEnumHelper(string str)
{
     var tipe = typeof(JenisHewan);
     int returnValue = 0;
     System.Reflection.FieldInfo fi = tipe.GetField(str);
     returnValue = (int)fi.GetValue(null);

     return (JenisHewan)returnValue;
}

Semoga tips singkat bisa berguna.
Happy coding

Ikuti

Get every new post delivered to your Inbox.