private void btnBrowseKodePembelian_Click(object sender, EventArgs e) { frmBrowse browse = new frmBrowse("pembelian"); browse.ShowDialog(); Dictionary <string, string> datas = browse.getData(); if (datas.Count > 0) { Supplier supplier = Supplier.FindOneById(Convert.ToInt32(datas["id_supplier"])); id_supplier = supplier.getId(); txtKodePembelian.Text = datas["kode"]; txtSupplier.Text = supplier.getNama(); DataTable dt = PembelianDetail.FindByIdPembelian(Convert.ToInt32(datas["id"])); dgvPembelianDetail.DataSource = dt; dgvPembelianDetail.Refresh(); decimal sum = 0; foreach (DataRow dr in dt.Rows) { sum += Convert.ToDecimal(dr["harga_barang"]) * Convert.ToInt32(dr["kuantitas"]); } txtTotalHargaPembelian.Text = sum.ToString(); } }
private void btnTambahPembelian_Click(object sender, EventArgs e) { foreach (Control ctrl in mtpPembelian.Controls) { if (ctrl is TextBox && ctrl.Text.Trim() == "" && ctrl.Name != "txtTotalHargaPembelian") { MessageBox.Show("Data tidak boleh ada yang kosong."); return; } } Pembelian pembelian = Pembelian.FindOneByKode(txtKodePembelian.Text); Pembelian pembelianBaru = new Pembelian(); if (pembelian == null) { pembelianBaru.setSupplier(Supplier.FindOneById(id_supplier)); pembelianBaru.setKode(txtKodePembelian.Text); try { pembelianBaru.Insert(); pembelian = Pembelian.FindOneByKode(pembelianBaru.getKode()); } catch (Exception error) { MessageBox.Show(error.Message); } } PembelianDetail pembelianDetail = PembelianDetail. FindOneByIdBarangAndIdPembelian(id_barang_pembelian, pembelian.getId()); if (pembelianDetail == null) { PembelianDetail pembelianDetailBaru = new PembelianDetail(); pembelianDetailBaru.setBarang(Barang.FindOneById(id_barang_pembelian)); Barang barang = pembelianDetailBaru.getBarang(); int kuantitas = Convert.ToInt32(txtKuantitasPembelian.Text); pembelianDetailBaru.setKuantitas(kuantitas); pembelianDetailBaru.setHargaBarang(Convert.ToDecimal(txtHargaBarangPembelian.Text)); pembelianDetailBaru.setPembelian(pembelian); try { pembelianDetailBaru.Insert(); barang.setJumlah(barang.getJumlah() + kuantitas); barang.setHargaHpp(pembelianDetailBaru.getHargaBarang()); barang.Update(); MessageBox.Show("Barang dengan kode " + pembelianDetailBaru.getBarang().getKode() + " berhasil dimasukkan pada faktur dengan kode " + pembelian.getKode()); } catch (Exception error) { MessageBox.Show(error.Message); } } else { Barang barang = pembelianDetail.getBarang(); int kuantitas = Convert.ToInt32(txtKuantitasPembelian.Text); int kuantitasLama = pembelianDetail.getKuantitas(); pembelianDetail.setKuantitas(kuantitas); pembelianDetail.setHargaBarang(Convert.ToDecimal(txtHargaBarangPembelian.Text)); if (kuantitas < 0) { MessageBox.Show("Kuantitas tidak valid."); } else { try { pembelianDetail.Update(); barang.setJumlah(barang.getJumlah() + kuantitas - kuantitasLama); barang.setHargaHpp(pembelianDetail.getHargaBarang()); barang.Update(); MessageBox.Show("Barang dengan kode " + pembelianDetail.getBarang().getKode() + " pada faktur dengan kode " + pembelian.getKode()); } catch (Exception error) { MessageBox.Show(error.Message); } } } DataTable dt = PembelianDetail.FindByIdPembelian(pembelian.getId()); dgvPembelianDetail.DataSource = dt; dgvPembelianDetail.Refresh(); decimal sum = 0; foreach (DataRow dr in dt.Rows) { sum += Convert.ToDecimal(dr["harga_barang"]) * Convert.ToInt32(dr["kuantitas"]); } txtTotalHargaPembelian.Text = sum.ToString(); }