コード例 #1
0
        public string TambahData(NotaBeli nota)
        {
            Koneksi k1 = new Koneksi();

            k1.Connect();

            string sql1 = "INSERT INTO NotaBeli(NoNota,Tanggal,KodeSupplier,KodePegawai) VALUES('" + nota.NoNota + "','" +
                          nota.Tanggal.ToString("yyyy-MM-dd hh:mm;ss") + "','" + nota.Supplier.KodeSupplier + "','" +
                          nota.Pegawai.KodePegawai + "')";

            MySqlCommand c1 = new MySqlCommand(sql1, k1.KoneksiDB);

            try
            {
                c1.ExecuteNonQuery();
                for (int i = 0; i < nota.JumlahBarangNota; i++)
                {
                    Koneksi k2 = new Koneksi();
                    k2.Connect();

                    string sql2 = "INSERT INTO NotaBeliDetil(NoNota,KodeBarang,Harga,Jumlah) VALUES ('" + nota.NoNota + "','" +
                                  nota.ListNotaDetil[i].BarangNota.KodeBarang + "','" + nota.ListNotaDetil[i].HargaBeli + "','" +
                                  nota.ListNotaDetil[i].JumlahBeli + "')";

                    MySqlCommand c2 = new MySqlCommand(sql2, k2.KoneksiDB);

                    c2.ExecuteNonQuery();
                }
                return("sukses");
            }
            catch (Exception e)
            {
                return(e.Message);
            }
        }
コード例 #2
0
        public static string HapusData(NotaBeli pNotaBeli)
        {
            using (var tranScope = new TransactionScope(TransactionScopeOption.RequiresNew))
            {
                try
                {
                    //tuliskan perintah sql 1 : menambahkan data nota ke tabel notajual
                    string sql2 = "DELETE FROM notabelidetil WHERE NoNota = '" + pNotaBeli.NoNotaBeli + "'";
                    //menjalankan perintah utk menambahkan ke tabel notajualdetil
                    Koneksi.JalankanPerintahDML(sql2);

                    string sql1 = "DELETE FROM notabeli WHERE NoNota = '" + pNotaBeli.NoNotaBeli + "'";
                    Koneksi.JalankanPerintahDML(sql1);

                    //tuliskan perintah sql 2 : menambahkan barang-barang yang terjual ke tabel notajualdetil


                    tranScope.Complete();
                    return("1");
                }
                catch (Exception ex)
                {
                    //jika ada kegagalan perintah DML

                    return("Nota Beli Telah Terhapus");
                }
            }
        }
コード例 #3
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);
                }
            }
        }
コード例 #4
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);
                }
            }
        }
コード例 #5
0
        public static string CetakNota(string pKriteria, string pNilaiKriteria, string pNamaFile)
        {
            try
            {
                List <NotaBeli> listNotaBeli = new List <NotaBeli>();

                //baca data nota tertentu yang akan dicetak
                string hasilBaca = NotaBeli.BacaData(pKriteria, pNilaiKriteria, listNotaBeli);

                //simpan dulu isi nota yang akan ditampilkan ke objek file (streamwriter)
                StreamWriter file = new StreamWriter(pNamaFile);

                for (int i = 0; i < listNotaBeli.Count; i++)
                {
                    //tampilkan info perusahaan
                    file.WriteLine("");
                    file.WriteLine("BENGKEL JAYA SAKTI MOTOR KNALPOT 228");
                    file.WriteLine("Jl. Mayjen Sungkono No.10, Dukuh Pakis, Surabaya");
                    file.WriteLine("Telp. (031) 5633145");
                    file.WriteLine("=".PadRight(50, '='));

                    //tampilkan header nota
                    file.WriteLine("No.Nota : " + listNotaBeli[i].NoNotaBeli);
                    file.WriteLine("Tanggal : " + listNotaBeli[i].Tanggal);
                    file.WriteLine("");
                    file.WriteLine("Supplier : " + listNotaBeli[i].Supplier.NamaSupplier);
                    file.WriteLine("Alamat    : " + listNotaBeli[i].Supplier.Alamat);
                    file.WriteLine("");
                    file.WriteLine("pembeli   : " + listNotaBeli[i].Pegawai.Nama);
                    file.WriteLine("=".PadRight(50, '='));

                    //tampilkan barang yang terjual
                    int grandTotal = 0; // untuk menampilkan grandtotal nota
                    for (int j = 0; j < listNotaBeli[i].ListNotaBeliDetil.Count; j++)
                    {
                        string nama = listNotaBeli[i].ListNotaBeliDetil[j].Barang.Nama;
                        //jika nama barang terlalu panjang maka hanya ambil 30 karakter pertama saja
                        if (nama.Length > 30)
                        {
                            nama = nama.Substring(0, 30);
                        }
                        int jumlah   = listNotaBeli[i].ListNotaBeliDetil[j].Jumlah;
                        int harga    = listNotaBeli[i].ListNotaBeliDetil[j].Harga;
                        int subTotal = jumlah * harga;
                        file.Write(nama.PadRight(30, ' '));
                        file.Write(jumlah.ToString().PadRight(3, ' '));
                        file.Write(harga.ToString("0,###").PadLeft(7, ' '));     // agar harga ditampilkan dengan pemisah ribuan
                        file.Write(subTotal.ToString("0,###").PadLeft(10, ' ')); //agar subtotal ditampilkan dengan pemisah ribuan
                        file.WriteLine("");
                        //hitung grandTotal nota
                        grandTotal = grandTotal + jumlah * harga;
                    }
                    file.WriteLine("=".PadRight(50, '='));
                    file.WriteLine("TOTAL : " + grandTotal.ToString("0,###"));
                    file.WriteLine("=".PadRight(50, '='));
                    file.WriteLine("Terima Kasih Atas Kunjungan Anda");
                    file.WriteLine("");
                }
                file.Close();
                //cetak ke printer
                Cetak c = new Cetak(pNamaFile, "Courier New", 9, 10, 10, 10, 10);
                c.CetakKePrinter("tulisan");
                return("1");
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }
コード例 #6
0
        public static string BacaData(string kriteria, string nilaiKriteria, List <NotaBeli> listHasilData)
        {
            string sql = "";

            //jika tidak ada kriteria yang diisikan
            if (kriteria == "")
            {
                sql = "SELECT N.NoNota, N.Tanggal, N.KodeSupplier, S.Nama AS NamaSupplier, S.Alamat AS AlamatSupplier, N.KodePegawai, PG.Nama AS NamaPegawai FROM notabeli N INNER JOIN supplier S ON N.KodeSupplier = S.KodeSupplier INNER JOIN pegawai PG ON N.KodePegawai = PG.KodePegawai ORDER BY N.NoNota DESC";
            }
            else
            {
                sql = "SELECT N.NoNota, N.Tanggal, N.KodeSupplier, S.Nama AS NamaSupplier, S.Alamat AS AlamatSupplier, N.KodePegawai, PG.Nama AS NamaPegawai FROM notabeli N INNER JOIN supplier S ON N.KodeSupplier = S.KodeSupplier INNER JOIN pegawai PG ON N.KodePegawai = PG.KodePegawai WHERE " + kriteria + " LIKE '%" + nilaiKriteria + "%'" + " ORDER BY N.NoNota DESC";
            }
            try
            {
                MySqlDataReader hasilData = Koneksi.JalankanPerintahQuery(sql);
                listHasilData.Clear();           //kosongi isi list dulu
                while (hasilData.Read() == true) //selama masih ada data
                {
                    string   nomorNota = hasilData.GetValue(0).ToString();
                    DateTime tglNota   = DateTime.Parse(hasilData.GetValue(1).ToString());
                    int      kodeSup   = int.Parse(hasilData.GetValue(2).ToString());
                    string   namaSup   = hasilData.GetValue(3).ToString();
                    string   alamatSup = hasilData.GetValue(4).ToString();
                    Supplier sup       = new Supplier();
                    sup.KodeSupplier = kodeSup;
                    sup.NamaSupplier = namaSup;
                    sup.Alamat       = alamatSup;

                    int     kodePeg = int.Parse(hasilData.GetValue(5).ToString());
                    string  namaPeg = hasilData.GetValue(6).ToString();
                    Pegawai peg     = new Pegawai();
                    peg.KodePegawai = kodePeg;
                    peg.Nama        = namaPeg;


                    NotaBeli nota = new NotaBeli(nomorNota, tglNota, sup, peg);

                    string sql2 = "SELECT NBD.KodeBarang, B.Nama, NBD.Harga, NBD.Jumlah FROM notabeli N INNER JOIN notabelidetil NBD ON N.NoNota = NBD.NoNota INNER JOIN barang B ON NBD.KodeBarang = B.KodeBarang WHERE N.NoNota = '" + nomorNota + "'";

                    MySqlDataReader hasilData2 = Koneksi.JalankanPerintahQuery(sql2);

                    while (hasilData2.Read() == true)
                    {
                        string kodeBrg = hasilData2.GetValue(0).ToString();
                        string namaBrg = hasilData2.GetValue(1).ToString();
                        Barang brg     = new Barang();
                        brg.KodeBarang = kodeBrg;
                        brg.Nama       = namaBrg;

                        int           hrgJual   = int.Parse(hasilData2.GetValue(2).ToString());
                        int           jumJual   = int.Parse(hasilData2.GetValue(3).ToString());
                        NotaBeliDetil detilNota = new NotaBeliDetil(brg, hrgJual, jumJual);

                        nota.TambahDetilBarang(brg, hrgJual, jumJual);
                    }
                    listHasilData.Add(nota);
                }
                return("1");
            }
            catch (Exception ex)
            {
                return(ex.Message);
            }
        }