Created
October 3, 2018 04:28
-
-
Save k4m4r82/8814585d7c31965028c81871fd51993f to your computer and use it in GitHub Desktop.
lab 03 - FrmEntryMahasiswa
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public partial class FrmEntryMahasiswa : Form | |
{ | |
/// <summary> | |
/// Deklarasi tipe data untuk event menggunakan delegate | |
/// </summary> | |
/// <param name="obj"></param> | |
public delegate void SaveUpdateEventHandler(Mahasiswa obj); | |
/// <summary> | |
/// Deklarasi event OnSave. Event ini di panggil ketika terjadi proses input data baru | |
/// </summary> | |
public event SaveUpdateEventHandler OnSave; | |
/// <summary> | |
/// Deklarasi event OnUpdate. Event ini di panggil ketika terjadi proses update | |
/// </summary> | |
public event SaveUpdateEventHandler OnUpdate; | |
private bool isNewData = true; | |
private Mahasiswa mhs = null; | |
/// <summary> | |
/// Constructor default | |
/// </summary> | |
public FrmEntryMahasiswa() | |
{ | |
InitializeComponent(); | |
} | |
/// <summary> | |
/// Constructor ini digunakan untuk keperluan entri data baru | |
/// </summary> | |
/// <param name="header"></param> | |
public FrmEntryMahasiswa(string header) | |
: this() | |
{ | |
this.Text = header; | |
} | |
/// <summary> | |
/// Constructor ini digunakan untuk keperluan edit data | |
/// </summary> | |
/// <param name="header"></param> | |
/// <param name="obj"></param> | |
public FrmEntryMahasiswa(string header, Mahasiswa obj) | |
: this() | |
{ | |
this.Text = header; | |
this.isNewData = false; | |
this.mhs = obj; | |
// untuk proses edit, tampilkan data lama | |
txtNpm.Text = this.mhs.Npm; | |
txtNama.Text = this.mhs.Nama; | |
if (this.mhs.JenisKelamin == "Laki-laki") | |
rdoLakilaki.Checked = true; | |
else | |
rdoPerempuan.Checked = true; | |
txtAlamat.Text = this.mhs.Alamat; | |
} | |
private void btnSimpan_Click(object sender, EventArgs e) | |
{ | |
if (isNewData) | |
mhs = new Mahasiswa(); | |
mhs.Npm = txtNpm.Text; | |
mhs.Nama = txtNama.Text; | |
mhs.JenisKelamin = rdoLakilaki.Checked ? "Laki-laki" : "Perempuan"; | |
mhs.Alamat = txtAlamat.Text; | |
if (isNewData) // data baru | |
{ | |
OnSave(mhs); // panggil event OnSave | |
// reset form input | |
txtNpm.Clear(); | |
txtNama.Clear(); | |
rdoLakilaki.Checked = true; | |
txtAlamat.Clear(); | |
txtNpm.Focus(); | |
} | |
else | |
{ | |
OnUpdate(mhs); // panggil event OnUpdate | |
this.Close(); | |
} | |
} | |
private void btnSelesai_Click(object sender, EventArgs e) | |
{ | |
this.Close(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment