public int Create(Pembukuan buku) { int result = 0; string sql = @"INSERT INTO Pembukuan (Tanggal, Item, Debit, Kredit, Saldo, Laba, Keterangan) VALUES (@Tanggal, @Item, @Debit, @Kredit, @Saldo, @Laba, @Keterangan)"; using (MySqlCommand cmd = new MySqlCommand(sql, _conn)) { cmd.Parameters.AddWithValue("@Tanggal", buku.Tanggal); cmd.Parameters.AddWithValue("@Item", buku.Item); cmd.Parameters.AddWithValue("@Debit", buku.Debit); cmd.Parameters.AddWithValue("@Kredit", buku.Kredit); cmd.Parameters.AddWithValue("@Saldo", buku.Saldo); cmd.Parameters.AddWithValue("@Laba", buku.Laba); cmd.Parameters.AddWithValue("@Keterangan", buku.Keterangan); try { result = cmd.ExecuteNonQuery(); } catch (Exception ex) { System.Diagnostics.Debug.Print("Create error: {0}", ex.Message); } } return(result); }
public int Create(Pembukuan buku) { int result = 0; if (string.IsNullOrEmpty(buku.Tanggal.ToString())) { MessageBox.Show("Tanggal harus diisi !", "Peringatan", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(0); } if (string.IsNullOrEmpty(buku.Item)) { MessageBox.Show("Nama item harus diisi !", "Peringatan", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(0); } using (DbContext context = new DbContext()) { _repository = new PembukuanRepository(context); result = _repository.Create(buku); } if (result > 0) { MessageBox.Show("Data item berhasil ditambahkan!", "Informasi", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("Data item gagal ditambahkan!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } return(result); }
public FrmInputPembukuan(string title, PembukuanController controller, DateTime tanggal) : this() { lblHeader.Text = title; this.controller = controller; this.tanggal = tanggal; selisihBuku = new Pembukuan(); }
public int Update(Pembukuan buku, Pembukuan buku1) { int result = 0, result1 = 0; string tanggal = buku1.Tanggal.ToString("yyyyMMdd"); string sql = @"UPDATE Pembukuan SET Tanggal = @Tanggal, Item = @Item, Debit = @Debit, Kredit = @Kredit, Saldo = @Saldo, Laba = @Laba, Keterangan = @Keterangan WHERE ID = @ID"; string sql1 = @"CALL UpdateSaldo(@Tanggal, @ID, @Saldo, @Kredit, @Debit)"; using (MySqlCommand cmd = new MySqlCommand(sql, _conn)) { cmd.Parameters.AddWithValue("@Tanggal", buku.Tanggal); cmd.Parameters.AddWithValue("@Item", buku.Item); cmd.Parameters.AddWithValue("@Debit", buku.Debit); cmd.Parameters.AddWithValue("@Kredit", buku.Kredit); cmd.Parameters.AddWithValue("@Saldo", buku.Saldo); cmd.Parameters.AddWithValue("@Laba", buku.Laba); cmd.Parameters.AddWithValue("@Keterangan", buku.Keterangan); cmd.Parameters.AddWithValue("@ID", buku.ID); try { result = cmd.ExecuteNonQuery(); using (MySqlCommand cmd1 = new MySqlCommand(sql1, _conn)) { cmd1.Parameters.AddWithValue("@Tanggal", tanggal); cmd1.Parameters.AddWithValue("@ID", buku1.ID); cmd1.Parameters.AddWithValue("@Saldo", buku1.Saldo); cmd1.Parameters.AddWithValue("@Kredit", buku1.Kredit); cmd1.Parameters.AddWithValue("@Debit", buku1.Debit); try { result1 = cmd1.ExecuteNonQuery(); } catch (Exception ex) { System.Diagnostics.Debug.Print("Update saldo error: {0}", ex.Message); } } } catch (Exception ex) { System.Diagnostics.Debug.Print("Update error: {0}", ex.Message); } } return(result); }
private void btnUbah_Click(object sender, EventArgs e) { if (dgv.SelectedRows.Count > 0) { Pembukuan buku = listOfBuku[dgv.CurrentCell.RowIndex]; FrmInputPembukuan fInput = new FrmInputPembukuan("Tambah Data", buku, controller, dtTanggal.Value); fInput.OnUpdate += OnUpdateEventHandler; fInput.ShowDialog(); } else { MessageBox.Show("Data belum dipilih", "Peringatan", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
private void OnUpdateEventHandler(Pembukuan buku) { int index = dgv.CurrentCell.RowIndex; DataGridViewRow row = (DataGridViewRow)dgv.Rows[index].Clone(); row.Cells[1].Value = buku.ID; row.Cells[2].Value = buku.Item; row.Cells[3].Value = buku.Debit; row.Cells[4].Value = buku.Kredit; row.Cells[5].Value = buku.Saldo; row.Cells[6].Value = buku.Laba; row.Cells[7].Value = buku.Keterangan; TampilData(); }
public FrmInputPembukuan(string title, Pembukuan obj, PembukuanController controller, DateTime tanggal) : this() { lblHeader.Text = title; this.controller = controller; this.tanggal = tanggal; isNewData = false; buku = obj; bukuAwal = new Pembukuan(); bukuAwal.Debit = buku.Debit; bukuAwal.Kredit = buku.Kredit; bukuAwal.Saldo = buku.Saldo; selisihBuku = new Pembukuan(); this.ID = buku.ID; txtNamaItem.Text = buku.Item; if (buku.Kredit == 0 && buku.Debit == 0) { cmbJenisDana.SelectedIndex = 2; txtNominalDana.Text = buku.Saldo.ToString(); } else if (buku.Debit == 0) { cmbJenisDana.SelectedIndex = 1; txtNominalDana.Text = buku.Kredit.ToString(); } else if (buku.Kredit == 0) { cmbJenisDana.SelectedIndex = 0; txtNominalDana.Text = buku.Debit.ToString(); } if (buku.Laba != 0) { txtNominalLaba.Text = buku.Laba.ToString(); } if (buku.Keterangan != "-") { txtKeterangan.Text = buku.Keterangan; } }
public List <Pembukuan> ReadByDate(DateTime tanggalAwal, DateTime tanggalAkhir) { var formatTglAwal = tanggalAwal.ToString("yyyy-MM-dd"); var formatTglAkhir = tanggalAkhir.ToString("yyyy-MM-dd"); List <Pembukuan> listOfBuku = new List <Pembukuan>(); try { string sql = @"SELECT*FROM Pembukuan WHERE Tanggal BETWEEN @TanggalAwal AND @TanggalAkhir ORDER BY Tanggal ASC"; using (MySqlCommand cmd = new MySqlCommand(sql, _conn)) { cmd.Parameters.AddWithValue("@TanggalAwal", formatTglAwal); cmd.Parameters.AddWithValue("@TanggalAkhir", formatTglAkhir); using (MySqlDataReader dtr = cmd.ExecuteReader()) { while (dtr.Read()) { var buku = new Pembukuan(); buku.ID = dtr["ID"].ToString(); buku.Tanggal = DateTime.Parse(dtr["Tanggal"].ToString()); buku.Item = dtr["Item"].ToString(); buku.Debit = double.Parse(dtr["Debit"].ToString()); buku.Kredit = double.Parse(dtr["Kredit"].ToString()); buku.Saldo = double.Parse(dtr["Saldo"].ToString()); buku.Laba = double.Parse(dtr["Laba"].ToString()); buku.Keterangan = dtr["Keterangan"].ToString(); listOfBuku.Add(buku); } } } } catch (Exception ex) { System.Diagnostics.Debug.Print("ReadByDate error: {0}", ex.Message); } return(listOfBuku); }
public List <Pembukuan> ReadByMonth(int bulan, int tahun) { List <Pembukuan> listOfBuku = new List <Pembukuan>(); try { string sql = @"SELECT CONCAT(NamaPanjangBulan(MONTH(Tanggal)), ' ', YEAR(Tanggal)) AS Bulan, SUM(Debit) AS totalDebit, SUM(Kredit) AS totalKredit, (SELECT Saldo FROM Pembukuan WHERE (MONTH(Tanggal) = @Bulan) AND (YEAR(Tanggal) = @Tahun) ORDER BY ID DESC LIMIT 1) AS saldoAkhir, SUM(Laba) AS totalLaba FROM Pembukuan WHERE (MONTH(Tanggal) = @Bulan) AND (YEAR(Tanggal) = @Tahun) ORDER BY Bulan ASC"; using (MySqlCommand cmd = new MySqlCommand(sql, _conn)) { cmd.Parameters.AddWithValue("@Bulan", bulan); cmd.Parameters.AddWithValue("@Tahun", tahun); using (MySqlDataReader dtr = cmd.ExecuteReader()) { while (dtr.Read()) { var buku = new Pembukuan(); buku.Keterangan = dtr["Bulan"].ToString(); // Menyimpan bulan dan tahun buku.Debit = double.Parse(dtr["totalDebit"].ToString()); buku.Kredit = double.Parse(dtr["totalKredit"].ToString()); buku.Saldo = double.Parse(dtr["saldoAkhir"].ToString()); buku.Laba = double.Parse(dtr["totalLaba"].ToString()); listOfBuku.Add(buku); } } } } catch (Exception ex) { System.Diagnostics.Debug.Print("ReadByMonth error: {0}", ex.Message); } return(listOfBuku); }
public int Delete(Pembukuan buku) { int result = 0, result1 = 0; string tanggal = buku.Tanggal.ToString("yyyyMMdd"); string sql = @"CALL UpdateSaldo(@Tanggal, @ID, @Saldo, @Kredit, @Debit)"; string sql1 = @"DELETE FROM Pembukuan WHERE ID = @ID"; using (MySqlCommand cmd = new MySqlCommand(sql, _conn)) { cmd.Parameters.AddWithValue("@Tanggal", tanggal); cmd.Parameters.AddWithValue("@ID", buku.ID); cmd.Parameters.AddWithValue("@Saldo", buku.Saldo); cmd.Parameters.AddWithValue("@Kredit", buku.Kredit); cmd.Parameters.AddWithValue("@Debit", buku.Debit); try { result = cmd.ExecuteNonQuery(); using (MySqlCommand cmd1 = new MySqlCommand(sql1, _conn)) { cmd1.Parameters.AddWithValue("@ID", buku.ID); try { result1 = cmd1.ExecuteNonQuery(); } catch (Exception ex) { System.Diagnostics.Debug.Print("Delete error: {0}", ex.Message); } } } catch (Exception ex) { System.Diagnostics.Debug.Print("Update saldo error: {0}", ex.Message); } } return(result1); }
public List <Pembukuan> ReadAll() { List <Pembukuan> listOfBuku = new List <Pembukuan>(); try { string sql = @"SELECT*FROM Pembukuan ORDER BY Tanggal ASC"; using (MySqlCommand cmd = new MySqlCommand(sql, _conn)) { using (MySqlDataReader dtr = cmd.ExecuteReader()) { while (dtr.Read()) { var buku = new Pembukuan(); buku.ID = dtr["ID"].ToString(); buku.Tanggal = DateTime.Parse(dtr["Tanggal"].ToString()); buku.Item = dtr["Item"].ToString(); buku.Debit = double.Parse(dtr["Debit"].ToString()); buku.Kredit = double.Parse(dtr["Kredit"].ToString()); buku.Saldo = double.Parse(dtr["Saldo"].ToString()); buku.Laba = double.Parse(dtr["Laba"].ToString()); buku.Keterangan = dtr["Keterangan"].ToString(); listOfBuku.Add(buku); } } } } catch (Exception ex) { System.Diagnostics.Debug.Print("ReadAll error: {0}", ex.Message); } return(listOfBuku); }
private void btnHapus_Click(object sender, EventArgs e) { if (dgv.SelectedRows.Count > 0) { var konfirmasi = MessageBox.Show("Apakah data terpilih ingin dihapus?", "Konfirmasi", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (konfirmasi == DialogResult.Yes) { Pembukuan buku = listOfBuku[dgv.CurrentCell.RowIndex]; var result = controller.Delete(buku); if (result > 0) { TampilData(); } } } else { MessageBox.Show("Data belum dipilih", "Peringatan", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
private void btnSimpan_Click(object sender, EventArgs e) { if (isNewData) { buku = new Pembukuan(); bukuAwal = new Pembukuan(); buku.Saldo = controller.GetLastSaldo(tanggal); } buku.ID = ID; buku.Tanggal = tanggal; buku.Item = txtNamaItem.Text; if (cmbJenisDana.SelectedIndex == 0) { buku.Debit = double.Parse(txtNominalDana.Text); if (bukuAwal.Debit > buku.Debit) { var selisih = bukuAwal.Debit - buku.Debit; buku.Saldo -= selisih; } else { var selisih = buku.Debit - bukuAwal.Debit; buku.Saldo += selisih; } } else if (cmbJenisDana.SelectedIndex == 1) { buku.Kredit = double.Parse(txtNominalDana.Text); if (bukuAwal.Kredit > buku.Kredit) { var selisih = bukuAwal.Kredit - buku.Kredit; buku.Saldo += selisih; } else { var selisih = buku.Kredit - bukuAwal.Kredit; buku.Saldo -= selisih; } } else { buku.Saldo = double.Parse(txtNominalDana.Text); } if (txtNominalLaba.Text != "") { buku.Laba = double.Parse(txtNominalLaba.Text); } buku.Keterangan = txtKeterangan.Text; selisihBuku.Tanggal = buku.Tanggal; selisihBuku.ID = buku.ID; selisihBuku.Saldo = bukuAwal.Saldo - buku.Saldo; selisihBuku.Debit = bukuAwal.Debit - buku.Debit; selisihBuku.Kredit = bukuAwal.Kredit - buku.Kredit; int result = 0; if (isNewData) { result = controller.Create(buku); if (result > 0) { OnCreate(buku); var reset = new GeneralSetting(); reset.ClearTxt(this); cmbJenisDana.SelectedIndex = -1; txtNamaItem.Focus(); } } else { result = controller.Update(buku, selisihBuku); if (result > 0) { OnUpdate(buku); this.Close(); } } }
private void OnCreateEventHandler(Pembukuan buku) { listOfBuku.Add(buku); TampilData(); }