public static string BacaData(string kriteria, string nilaiKriteria, List <NotaPembelian> listNotaBeli) { string sql1 = ""; if (kriteria == "") { //tuliskan perintah sql1 = untuk menampilkan semua data tabel nota pembelian sql1 = "select * from vnotapembelian"; } else { sql1 = "SELECT * FROM vnotapembelian WHERE " + kriteria + " LIKE '%" + nilaiKriteria + "%'"; } try { //data reader 1 = memperoleh semua data dari tabel notaPembelian MySqlDataReader hasilData1 = Koneksi.JalankanPerintahQuery(sql1); listNotaBeli.Clear();//kosongi isi list terlebih dahulu while (hasilData1.Read()) { //mendapatkan nomornota, status ,dll string nomorNota = hasilData1.GetValue(0).ToString(); // nonotapembelian double diskon = double.Parse(hasilData1.GetValue(4).ToString()); // diskon int totalHarga = int.Parse(hasilData1.GetValue(5).ToString()); DateTime tglBatasPelunasan = DateTime.Parse(hasilData1.GetValue(6).ToString()); DateTime tglBatasDiskon = DateTime.Parse(hasilData1.GetValue(7).ToString()); DateTime tglBeli = DateTime.Parse(hasilData1.GetValue(8).ToString()); string status = hasilData1.GetValue(9).ToString(); string keterangan = hasilData1.GetValue(10).ToString(); //supplier yang melakukan transaksi //mendapatkan idsupplier, nama, dan alamat string idSup = hasilData1.GetValue(1).ToString(); string namaSup = hasilData1.GetValue(2).ToString(); string alamatSup = hasilData1.GetValue(3).ToString(); //buat object bertipe Supplier Supplier spl = new Supplier(); //tambahkan 3 data dibawah spl.IdSupplier = idSup; spl.Nama = namaSup; spl.Alamat = alamatSup; //nota beli //buat object notapembelian dan tambahkan data NotaPembelian nota = new NotaPembelian(nomorNota, status, keterangan, diskon, totalHarga, tglBatasPelunasan, tglBatasDiskon, tglBeli, spl); //DETAIL nota Beli //query utk detail nota Beli dati tiap nota beli //sql2 untuk mendapatkan barang yang ada di nota (dar tabel detilnotabeli) string sql2 = "SELECT DNB.kodeBarang, B.Nama, DNB.Jumlah , DNB.HargaBeli FROM NotaPembelian N INNER JOIN " + "detilNotaBeli DNB ON N.noNotaPembelian = DNB.noNotaPembelian INNER JOIN Barang B ON " + "DNB.KodeBarang = B.KodeBarang WHERE N.noNotaPembelian = '" + nomorNota + "'"; //memperoleh semua data barang nota ditabel detilnotabeli MySqlDataReader hasilData2 = Koneksi.JalankanPerintahQuery(sql2); while (hasilData2.Read()) { //mendapatkan kode dan nama barang yang dibeli string kodeBrg = hasilData2.GetValue(0).ToString(); string namaBrg = hasilData2.GetValue(1).ToString(); //buat object barang dan tambahkan Barang brg = new Barang(); brg.KodeBarang = kodeBrg; brg.Nama = namaBrg; //mendapatkan harga beli dan jumlah transaksi int hargaBeli = int.Parse(hasilData2.GetValue(3).ToString()); int jumlah = int.Parse(hasilData2.GetValue(2).ToString()); //buat object bertipe detilnotabeli dan tambahkan //ingat baik baik agar fk tidak duplicate DetilNotaBeli detilNota = new DetilNotaBeli(brg, jumlah, hargaBeli); //simpan detil barang ke nota nota.TambahDetilBarang(brg, jumlah, hargaBeli); } //simpan ke list listNotaBeli.Add(nota); } return("1"); } catch (MySqlException ex) { return(ex.Message); } }
public void TambahDetilBarang(Barang pBarang, int pJumlah, int pHargaJual) { DetilNotaBeli dnb = new DetilNotaBeli(pBarang, pJumlah, pHargaJual); ListNotaBeliDetil.Add(dnb); }