Membuat Halaman Login Menggunakan FormAuthentication
Tulisan ini terinspirasi dari artikel mas NderekLangkung tentang halaman login. Tapi apa yang saya catat disini berbeda. Saya ingin menulis tentang halaman login menggunakan form authentication yang jauh lebih mudah dalam pengaturan user, role, hak akses dan terutama masalah security yang lebih baik daripada kita membuat halaman login sendiri.
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.
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
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
Threading Menggunakan Delegates
Threading satu cara menjalankan beberapa bagian program secara pararel. Tujuannya adalah agar aplikasi bisa lebih responsif.
Sebagai contoh:
Public Class AdmPropinsi
....
Public Delegate Function GetDataDelegate() As System.Data.DataSet
Public Function GetData() As System.Data.DataSet
Dim ds As New DataSet
Try
Using conn
If conn.State = ConnectionState.Closed Then conn.Open()
Using cmd
cmd.Connection = conn
cmd.CommandText = "Q_Select_Propinsi"
cmd.CommandType = CommandType.StoredProcedure
da = New OleDbDataAdapter()
da.SelectCommand = cmd
da.TableMappings.Add("TBR_PROV", "pro")
da.Fill(ds, "pro")
End Using
End Using
Catch ex As OleDb.OleDbException
Throw Exception
End Try
Return ds
End Function
End Class
Di Class diatas ada method GetData() yang akan mengambil informasi dari database dan disimpan ke dataset. Selain method juga didefinisikan delegate function yang juga bertipe sama, DataSet (Baris 3).
Untuk memanggil method diatas dan diproses secara paralel di thread yang lain,
Read the rest of this entry
Format Tanggal di Dalam GridView
Jika ingin menampilkan data tanggal (datetime) di dalam gridview dengan format tertentu, kita perlu set property “DataFormatString” di colom BoundField menjadi
DataFormatString=”{0:?}”. Dimana tanda ? adalah karakter kode format.
contoh:
<asp:GridView ID="GridView1" runat="server" Width="100%" >
<Columns>
<asp:BoundField HeaderText="Tanggal" DataField="Tgl" DataFormatString="{0:D}" />
</Columns>
</asp:GridView>
Berikut Daftar karakter yang digunakan untuk format tanggal di gridview.
Read the rest of this entry