private void textBoxCari_TextChanged(object sender, EventArgs e)
        {
            string kriteria = "";

            if (comboBoxCari.Text == "Kode")
            {
                kriteria = "kode";
            }
            else if (comboBoxCari.Text == "Id Bahan Baku")
            {
                kriteria = "id_bahan_baku";
            }
            else if (comboBoxCari.Text == "Nomor SPK")
            {
                kriteria = "nomor_spk";
            }


            // Kosongi isi list
            listHasilData.Clear();

            // Tampilkan data kategori sesuai kriteria
            string hasilBaca = PemesananBahanBaku.BacaData(kriteria, textBoxCari.Text, listHasilData);

            if (hasilBaca == "1")
            {
                dataGridViewBarang.DataSource = null;
                dataGridViewBarang.DataSource = listHasilData;
            }
        }
        public void FormDaftarPemesananBahanBaku_Load(object sender, EventArgs e)
        {
            try
            {
                listHasilData.Clear();
                FormatDataGrid();
                string hasilBaca = PemesananBahanBaku.BacaData("", "", listHasilData);

                if (hasilBaca == "1")
                {
                    dataGridViewBarang.DataSource = null;

                    for (int i = 0; i < listHasilData.Count; i++)
                    {
                        dataGridViewBarang.Rows.Add(listHasilData[i].Kode, listHasilData[i].SPK.NoSPK, listHasilData[i].Tanggal, listHasilData[i].TotalHarga);
                    }
                }
                else
                {
                    // Kosongi dataGridView
                    dataGridViewBarang.DataSource = null;
                }
            }
            catch (Exception exc)
            {
                MessageBox.Show("Sedang memproses data pemesanan bahan baku.");
            }
        }
        private void buttonTambahBarang_Click(object sender, EventArgs e)
        {
            Spk a = listspk[comboBoxNomorSPK.SelectedIndex];
            PemesananBahanBaku k    = new PemesananBahanBaku(textBoxKode.Text, a, DateTime.Now, int.Parse(labelHarga.Text));
            string             code = "";

            if (textBoxharga.Text != "" && textBoxKode.Text != "" && textBoxjenis.Text != "" && textBoxsub.Text != "" && textBoxjumlah.Text != "" && comboBoxID.Text != "" && richTextBoxkete.Text != "")
            {
                code = DetailPemesananBahanBaku.GenerateCode(out code);
                BahanBaku b = listHasilData[comboBoxID.SelectedIndex];

                DetailPemesananBahanBaku s = new DetailPemesananBahanBaku(int.Parse(code), k, b, textBoxjenis.Text, int.Parse(textBoxjumlah.Text)
                                                                          , int.Parse(textBoxharga.Text), subharga, "", richTextBoxkete.Text);
                dataGridViewBarang.Rows.Add(listHasilData[comboBoxID.SelectedIndex].Nama, textBoxjenis.Text, textBoxharga.Text, textBoxjumlah.Text, textBoxsub.Text, richTextBoxkete.Text);
                int sub = int.Parse(textBoxsub.Text);
                hrg                    += sub;
                labelHarga.Text         = hrg.ToString();
                subharga                = 0;
                harga                   = 0;
                jumlah                  = 0;
                textBoxsub.Text         = "";
                textBoxharga.Text       = "";
                textBoxjenis.Text       = "";
                textBoxjumlah.Text      = "";
                comboBoxID.Text         = "";
                richTextBoxkete.Text    = "";
                textBoxsub.Enabled      = false;
                textBoxharga.Enabled    = false;
                textBoxjenis.Enabled    = false;
                textBoxjumlah.Enabled   = false;
                richTextBoxkete.Enabled = false;
            }
        }
        private void buttonBuat_Click(object sender, EventArgs e)
        {
            try
            {
                Spk k = listspk[comboBoxNomorSPK.SelectedIndex];
                PemesananBahanBaku p   = new PemesananBahanBaku(textBoxKode.Text, k, DateTime.Now, hrg);
                string             has = DetailPemesananBahanBaku.BacaData("", "", dc);
                if (dataGridViewBarang.Rows.Count != 0)
                {
                    int id = dc.Count + 1;
                    // data barang diperoleh dari dataGridView
                    for (int i = 0; i < dataGridViewBarang.Rows.Count; i++)
                    {
                        DetailPemesananBahanBaku brg = new DetailPemesananBahanBaku();
                        string code = DetailPemesananBahanBaku.GenerateCode(out code);
                        brg.Id            = id;
                        brg.IDbahan       = listHasilData[comboBoxID.SelectedIndex];
                        brg.KodePBB       = p;
                        brg.TanggalTerima = DateTime.Now;
                        brg.Jenis         = dataGridViewBarang.Rows[i].Cells["Jenis"].Value.ToString();
                        brg.HargaSatuan   = int.Parse(dataGridViewBarang.Rows[i].Cells["HargaSatuan"].Value.ToString());
                        brg.Jumlah        = int.Parse(dataGridViewBarang.Rows[i].Cells["Jumlah"].Value.ToString());
                        brg.SubTotalHarga = int.Parse(dataGridViewBarang.Rows[i].Cells["SubTotal"].Value.ToString());
                        brg.Keterangan    = dataGridViewBarang.Rows[i].Cells["Keterangan"].Value.ToString();

                        // simpan detil barang ke nota
                        p.TambahPemesanan(brg);
                        id++;
                    }

                    string hasilTambah = PemesananBahanBaku.TambahData(p);
                    if (hasilTambah == "1")
                    {
                        MessageBox.Show("Data Pemesanan Bahan Baku telah tersimpan", "Info");
                        FormPemesananBahanBaku_Load(sender, e);
                    }
                    else
                    {
                        MessageBox.Show("Data Pemesanan Bahan Baku gagal tersimpan. Pesan kesalahan: " + hasilTambah, "Kesalahan");
                    }
                }
                else
                {
                    MessageBox.Show("Anda belum menambahkan bahan baku apa pun pada", "Kesalahan");
                }
            }

            catch (Exception exc)
            {
                MessageBox.Show(exc.Message);
            }
        }
        private void comboBoxKode_SelectedIndexChanged(object sender, EventArgs e)
        {
            dataGridViewBarang.Rows.Clear();
            s.Clear();
            string hasil = PemesananBahanBaku.BacaData("kode", comboBoxKode.Text, s);

            if (hasil == "1")
            {
                textBoxSPK.Text = s[0].SPK.NoSPK;
                for (int i = 0; i < s[0].Listpemesanan.Count; i++)
                {
                    dataGridViewBarang.Rows.Add(s[0].Listpemesanan[i].Id, s[0].Listpemesanan[i].KodePBB.Kode, s[0].Listpemesanan[i].IDbahan.Nama, s[0].Listpemesanan[i].Jenis,
                                                s[0].Listpemesanan[i].Jumlah, s[0].Listpemesanan[i].HargaSatuan, s[0].Listpemesanan[i].SubTotalHarga,
                                                s[0].Listpemesanan[i].TanggalTerima, s[0].Listpemesanan[i].Keterangan);
                }
            }
        }
        public void FormUbahPemesananBahanBaku_Load(object sender, EventArgs e)
        {
            FormatDataGrid();
            listHasilData.Clear();
            comboBoxKode.Items.Clear();
            dataGridViewBarang.DataSource = null;
            string hasil = PemesananBahanBaku.BacaData("", "", listHasilData);

            if (hasil == "1")
            {
                for (int i = 0; i < listHasilData.Count; i++)
                {
                    if (listHasilData[i].Listpemesanan[0].Kedatangan == "0")
                    {
                        comboBoxKode.Items.Add(listHasilData[i].Kode);
                    }
                }
            }
        }