public static string BacaData(string kriteria, string nilaiKriteria, List <SuratJalan> listSuratJalan) { string sql1 = ""; if (kriteria == "") { //tuliskan perintah sql1 = untuk menampilkan semua data ditabel surat jalan sql1 = "select * from suratjalan order by noSuratJalan desc"; } else { sql1 = "select * from suratjalan WHERE " + kriteria + " LIKE '%" + nilaiKriteria + "%' order by noSuratJalan desc"; } try { //data reader 1 = memperoleh semua data di tabel surat jalan MySqlDataReader hasilData1 = Koneksi.JalankanPerintahQuery(sql1); listSuratJalan.Clear();//kosongi isi list terlebih dahulu while (hasilData1.Read()) { //mendapatkan nosurat ,dll string nomorSurat = hasilData1.GetValue(0).ToString(); string pJenis = hasilData1.GetValue(1).ToString(); DateTime tgl = DateTime.Parse(hasilData1.GetValue(2).ToString()); string ket = hasilData1.GetValue(3).ToString(); //permintaan seusai surat permintaan //mendapatkan no surat permintaan string noSuratPermintaan = hasilData1.GetValue(4).ToString(); //buat object bertipe surat permintaan SuratPermintaan suratPermintaan = new SuratPermintaan(); //tambahkan data suratPermintaan.NoSuratPermintaan = noSuratPermintaan; //surat jalan //buat object surat jalan dan tambahkan data SuratJalan surat = new SuratJalan(nomorSurat, pJenis, ket, tgl, suratPermintaan); //DETAIL surat Jalan //query utk detail suratJalan dari tiap surat jalan //sql2 untuk mendapatkan barang yang akan dikirim string sql2 = "SELECT DSJ.kodeBarang, B.Nama, DSJ.Jumlah FROM suratJalan SJ INNER JOIN " + "detilsuratJalan DSJ ON SJ.nosuratjalan = DSJ.nosuratjalan INNER JOIN Barang B ON " + "DSJ.KodeBarang = B.KodeBarang WHERE SJ.nosuratjalan = '" + nomorSurat + "'"; //memperoleh semua data barang nota ditabel detilsuratjalan MySqlDataReader hasilData2 = Koneksi.JalankanPerintahQuery(sql2); while (hasilData2.Read()) { //mendapatkan kode dan nama barang yang terjual 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 jumlah int jumlah = int.Parse(hasilData2.GetValue(2).ToString()); //buat object bertipe detilsurat dan tambahkan //ingat baik baik agar fk tidak duplicate DetilSuratJalan detilSurat = new DetilSuratJalan(brg, jumlah); //simpan detil barang surat.TambahDetilBarang(brg, jumlah); } //simpan ke list listSuratJalan.Add(surat); } return("1"); } catch (MySqlException ex) { return(ex.Message); } }
public void TambahDetilBarang(Barang pBarang, int pJumlah) { DetilSuratJalan dsj = new DetilSuratJalan(pBarang, pJumlah); ListDetilSuratJalan.Add(dsj); }