コード例 #1
0
        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();
            }
        }
コード例 #2
0
        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();
        }