Skip to content

Instantly share code, notes, and snippets.

@k4m4r82
Created October 3, 2018 04:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save k4m4r82/8814585d7c31965028c81871fd51993f to your computer and use it in GitHub Desktop.
Save k4m4r82/8814585d7c31965028c81871fd51993f to your computer and use it in GitHub Desktop.
lab 03 - FrmEntryMahasiswa
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