Пример #1
0
        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);
                }
            }
        }
Пример #2
0
        public static string TambahData(NotaBeli pNotaBeli)
        {
            using (var tranScope = new TransactionScope(TransactionScopeOption.RequiresNew))
            {
                //tuliskan perintah sql 1 : menambahkan data nota ke tabel notajual
                string sql1 = "INSERT INTO notabeli(NoNota, Tanggal, KodeSupplier, KodePegawai) VALUES  ('" + pNotaBeli.NoNotaBeli + "','" + pNotaBeli.Tanggal.ToString("yyyy-MM-dd hh:mm:ss") + "'," + pNotaBeli.Supplier.KodeSupplier + "," + pNotaBeli.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 < pNotaBeli.ListNotaBeliDetil.Count; i++)
                    {
                        //tuliskan perintah sql 2 : menambahkan barang-barang yang terjual ke tabel notajualdetil
                        string sql2 = "INSERT INTO notabelidetil(NoNota, KodeBarang, Harga, Jumlah) VALUES ('" + pNotaBeli.NoNotaBeli + "','" + pNotaBeli.ListNotaBeliDetil[i].Barang.KodeBarang + "'," + pNotaBeli.ListNotaBeliDetil[i].Harga + "," + pNotaBeli.ListNotaBeliDetil[i].Jumlah + ")";

                        //menjalankan perintah utk menambahkan ke tabel notajualdetil
                        Koneksi.JalankanPerintahDML(sql2);

                        //panggil method untuk mengupdate/mengurangi stok barang
                        string hasilUpdateBrg = Barang.UbahStokTerbeli(pNotaBeli.ListNotaBeliDetil[i].Barang.KodeBarang, pNotaBeli.ListNotaBeliDetil[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);
                }
            }
        }