public static string TambahData(SuratJalan pSuratJalan) { using (var tranScope = new TransactionScope(TransactionScopeOption.RequiresNew)) { // perintah sql 1 = untuk menambahkan data ke tabel surat Jalan string sql1 = "INSERT INTO suratJalan(noSuratJalan,jenis, tgl, keterangan, nosuratpermintaan) VALUES ('" + pSuratJalan.NoSuratJalan + "', '" + pSuratJalan.Jenis + "', '" + pSuratJalan.Tgl.ToString("yyyy-MM-dd ") + "', '" + pSuratJalan.Keterangan + "', '" + pSuratJalan.SuratPermintaan.NoSuratPermintaan + "')"; try { //jalankan perintah untuk menambahkan ke tabel suratjalan Koneksi.JalankanPerintahDML(sql1); //menambahkan semua barang yang akan di kirim, ke dalam detilsuratjalan for (int i = 0; i < pSuratJalan.ListDetilSuratJalan.Count; i++) { //perintah sql2 = untuk menambahkan barang barang yang dikirim ke tabel detilsuratjalan string sql2 = "INSERT INTO detilsuratjalan(nosuratjalan, kodebarang, jumlah) VALUES ('" + pSuratJalan.NoSuratJalan + "', '" + pSuratJalan.ListDetilSuratJalan[i].Barang.KodeBarang + "', " + pSuratJalan.ListDetilSuratJalan[i].Jumlah + ")"; //menjalankan perintah untuk menambahkan ke tabel detilsuratjalan Koneksi.JalankanPerintahDML(sql2); //ubah stok barang if (pSuratJalan.Jenis == "M") // jika barang dikirim ke gudang (job order telah selesai) { Barang.UbahStokBeli(pSuratJalan.ListDetilSuratJalan[i].Barang.KodeBarang, pSuratJalan.ListDetilSuratJalan[i].Jumlah); } else //jika barang di ambil dari gudang untuk keperluan job order { Barang.UbahStokTerjual(pSuratJalan.ListDetilSuratJalan[i].Barang.KodeBarang, pSuratJalan.ListDetilSuratJalan[i].Jumlah); } } //jika semua perinth dml berhasil dijalankan tranScope.Complete(); return("1"); } catch (Exception e) { //jika ada kegagalan perintah dml tranScope.Dispose(); return(e.Message); } } }
public static string TambahData(NotaPembelian pNotaBeli) { using (var tranScope = new TransactionScope(TransactionScopeOption.RequiresNew)) { // perintah sql 1 = untuk menambahkan data ke tabel nota pembelian string sql1 = "INSERT INTO notapembelian(noNotaPembelian, diskon, totalHarga, tglBatasPelunasan, tglBatasDiskon, tglBeli, status, keterangan, idsupplier) VALUES ('" + pNotaBeli.NoNotaPembelian + "', " + pNotaBeli.Diskon + ", " + pNotaBeli.TotalHarga + ", '" + pNotaBeli.TglBatasPelunasan.ToString("yyyy-MM-dd ") + "', '" + pNotaBeli.TglBatasDiskon.ToString("yyyy-MM-dd ") + "', '" + pNotaBeli.TglBeli.ToString("yyyy-MM-dd ") + "', '" + pNotaBeli.Status + "', '" + pNotaBeli.Keterangan + "', " + pNotaBeli.Supplier.IdSupplier + ")"; try { //jalankan perintah untuk menambahkan ke tabel notapembelian Koneksi.JalankanPerintahDML(sql1); //menambahkan semua barang yang dibeli ke dalam detilnotabeli for (int i = 0; i < pNotaBeli.ListNotaBeliDetil.Count; i++) { //perintah sql2 = untuk menambahkan barang barang yang dibeli ke tabel detilnotabeli string sql2 = "INSERT INTO detilnotabeli(noNotaPembelian, kodeBarang, jumlah, hargaBeli) VALUES ('" + pNotaBeli.NoNotaPembelian + "', '" + pNotaBeli.ListNotaBeliDetil[i].Barang.KodeBarang + "', " + pNotaBeli.ListNotaBeliDetil[i].Jumlah + ", " + pNotaBeli.ListNotaBeliDetil[i].HargaBeli + ")"; //menjalankan perintah untuk menambahkan ke tabel notabelidetil Koneksi.JalankanPerintahDML(sql2); //panggil method untuk menambah stok/quantity barang yang dibeli string hasilUpdateBrng = Barang.UbahStokBeli(pNotaBeli.ListNotaBeliDetil[i].Barang.KodeBarang, pNotaBeli.ListNotaBeliDetil[i].Jumlah); string hasilUbahHargaBeli = Barang.UbahHargaBeliTerbaru(pNotaBeli.ListNotaBeliDetil[i].Barang.KodeBarang, pNotaBeli.ListNotaBeliDetil[i].HargaBeli); } //jika semua perinth dml berhasil dijalankan tranScope.Complete(); return("1"); } catch (Exception e) { //jika ada kegagalan perintah dml tranScope.Dispose(); return(e.Message); } } }