public static string UbahData(NotaBeli pNotaBeli) { using (var tranScope = new TransactionScope(TransactionScopeOption.RequiresNew)) { //tuliskan perintah sql 1 : menambahkan data nota ke tabel notajual string sql1 = "UPDATE notabeli SET Tanggal = '" + pNotaBeli.Tanggal.ToString("yyyy-MM-dd hh:mm:ss") + "', KodePelanggan = " + pNotaBeli.Supplier.KodeSupplier + ", KodePegawai = " + pNotaBeli.Pegawai.KodePegawai + " WHERE NoNota = '" + pNotaBeli.NoNotaBeli + "'"; try { //menjalankan perintah utk menambahkan ke tabel NotaJual Koneksi.JalankanPerintahDML(sql1); //mendapatkan semua barang yang terjual dalam nota (nota jual detil) for (int i = 0; i < pNotaBeli.ListNotaBeliDetil.Count; i++) { //tuliskan perintah sql 2 : menambahkan barang-barang yang terjual ke tabel notajualdetil string sql2 = "UPDATE notabelidetil SET KodeBarang = '" + pNotaBeli.ListNotaBeliDetil[i].Barang.KodeBarang + "', Harga = " + pNotaBeli.ListNotaBeliDetil[i].Harga + ", Jumlah = " + pNotaBeli.ListNotaBeliDetil[i].Jumlah + " WHERE NoNota = '" + pNotaBeli.NoNotaBeli + "'"; //menjalankan perintah utk menambahkan ke tabel notajualdetil Koneksi.JalankanPerintahDML(sql2); string sql3 = "SELECT Jumlah FROM notabelidetil WHERE NoNota '" + pNotaBeli.NoNotaBeli + "'"; MySqlDataReader hasilData = Koneksi.JalankanPerintahQuery(sql3); while (hasilData.Read() == true) { int jumBrg = int.Parse(hasilData.GetValue(0).ToString()); string stokSebelumnya = Barang.UbahStokTerbeli(pNotaBeli.ListNotaBeliDetil[i].Barang.KodeBarang, jumBrg); string hasilUpdateBrg = Barang.UbahStokTerjual(pNotaBeli.ListNotaBeliDetil[i].Barang.KodeBarang, pNotaBeli.ListNotaBeliDetil[i].Jumlah); } //panggil method untuk mengupdate/mengurangi stok barang } //jika semua perintah DML berhasil dijalankan tranScope.Complete(); return("1"); } catch (Exception ex) { //jika ada kegagalan perintah DML tranScope.Dispose(); return(ex.Message); } } }
public static string TambahData(NotaJual pNotaJual) { using (var tranScope = new TransactionScope(TransactionScopeOption.RequiresNew)) { //tuliskan perintah sql 1 : menambahkan data nota ke tabel notajual string sql1 = "INSERT INTO notajual(NoNota, Tanggal, KodePelanggan, KodePegawai) VALUES ('" + pNotaJual.NoNotaJual + "','" + pNotaJual.Tanggal.ToString("yyyy-MM-dd hh:mm:ss") + "'," + pNotaJual.Pelanggan.KodePelanggan + "," + pNotaJual.Pegawai.KodePegawai + ")"; try { //menjalankan perintah utk menambahkan ke tabel NotaJual Koneksi.JalankanPerintahDML(sql1); //mendapatkan semua barang yang terjual dalam nota (nota jual detil) for (int i = 0; i < pNotaJual.ListNotaJualDetil.Count; i++) { //tuliskan perintah sql 2 : menambahkan barang-barang yang terjual ke tabel notajualdetil string sql2 = "INSERT INTO notajualdetil(NoNota, KodeBarang, Harga, Jumlah) VALUES ('" + pNotaJual.NoNotaJual + "','" + pNotaJual.ListNotaJualDetil[i].Barang.KodeBarang + "'," + pNotaJual.ListNotaJualDetil[i].Harga + "," + pNotaJual.ListNotaJualDetil[i].Jumlah + ")"; //menjalankan perintah utk menambahkan ke tabel notajualdetil Koneksi.JalankanPerintahDML(sql2); //panggil method untuk mengupdate/mengurangi stok barang string hasilUpdateBrg = Barang.UbahStokTerjual(pNotaJual.ListNotaJualDetil[i].Barang.KodeBarang, pNotaJual.ListNotaJualDetil[i].Jumlah); } //jika semua perintah DML berhasil dijalankan tranScope.Complete(); return("1"); } catch (Exception ex) { //jika ada kegagalan perintah DML tranScope.Dispose(); return(ex.Message); } } }