Exemple #1
0
        public static string HapusData(NotaJual pNotaJual)
        {
            using (var tranScope = new TransactionScope(TransactionScopeOption.RequiresNew))
            {
                try
                {
                    //tuliskan perintah sql 1 : menambahkan data nota ke tabel notajual
                    string sql2 = "DELETE FROM notajualdetil WHERE NoNota = '" + pNotaJual.NoNotaJual + "'";
                    //menjalankan perintah utk menambahkan ke tabel notajualdetil
                    Koneksi.JalankanPerintahDML(sql2);

                    string sql1 = "DELETE FROM notajualdetil WHERE NoNota = '" + pNotaJual.NoNotaJual + "'";
                    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");
                }
            }
        }
Exemple #2
0
        public static string UbahData(NotaJual pNotaJual)
        {
            using (var tranScope = new TransactionScope(TransactionScopeOption.RequiresNew))
            {
                //tuliskan perintah sql 1 : menambahkan data nota ke tabel notajual
                string sql1 = "UPDATE notajual SET Tanggal = '" + pNotaJual.Tanggal.ToString("yyyy-MM-dd hh:mm:ss") + "', KodePelanggan = " + pNotaJual.Pelanggan.KodePelanggan + ", KodePegawai = " + pNotaJual.Pegawai.KodePegawai + " WHERE NoNota = '" + pNotaJual.NoNotaJual + "'";

                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 = "UPDATE notajualdetil SET KodeBarang = '" + pNotaJual.ListNotaJualDetil[i].Barang.KodeBarang + "', Harga = " + pNotaJual.ListNotaJualDetil[i].Harga + ", Jumlah = " + pNotaJual.ListNotaJualDetil[i].Jumlah + " WHERE NoNota = '" + pNotaJual.NoNotaJual + "'";

                    //    //menjalankan perintah utk menambahkan ke tabel notajualdetil
                    //    Koneksi.JalankanPerintahDML(sql2);
                    //    string sql3 = "SELECT Jumlah FROM notajualdetil WHERE NoNota '" + pNotaJual.NoNotaJual + "'";
                    //    MySqlDataReader hasilData = Koneksi.JalankanPerintahQuery(sql3);

                    //    while (hasilData.Read() == true)
                    //    {
                    //        int jumBrg = int.Parse(hasilData.GetValue(0).ToString());
                    //        string stokSebelumnya = Barang.UbahStokTerbeli(pNotaJual.ListNotaJualDetil[i].Barang.KodeBarang, jumBrg);
                    //        string hasilUpdateBrg = Barang.UbahStokTerjual(pNotaJual.ListNotaJualDetil[i].Barang.KodeBarang, pNotaJual.ListNotaJualDetil[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);
                }
            }
        }
Exemple #3
0
        public string TambahData(NotaJual nota)
        {
            Koneksi k1 = new Koneksi();

            k1.Connect();

            string sql1 = "INSERT INTO NotaJual(NoNota,Tanggal,KodePelanggan,KodePegawai) VALUES('" + nota.NoNota + "','" +
                          nota.Tanggal.ToString("yyyy-MM-dd hh:mm;ss") + "','" + nota.Pelanggan.KodePelanggan + "','" +
                          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 NotaJualDetil(NoNota,KodeBarang,Harga,Jumlah) VALUES ('" + nota.NoNota + "','" +
                                  nota.ListNotaDetil[i].BarangNota.KodeBarang + "','" + nota.ListNotaDetil[i].HargaJual + "','" +
                                  nota.ListNotaDetil[i].JumlahJual + "')";

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

                    c2.ExecuteNonQuery();

                    string hasilUpdateBrg = UpdateStokBarang(nota.ListNotaDetil[i]);
                }
                return("sukses");
            }
            catch (Exception e)
            {
                return(e.Message);
            }
        }
Exemple #4
0
        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);
                }
            }
        }
Exemple #5
0
        public string BacaSemuaData()
        {
            Koneksi k1 = new Koneksi();

            k1.Connect();

            string sql1 = "SELECT N.NoNota,N.Tanggal, N.KodePelanggan, Plg.Nama AS NamaPelanggan, Plg.Alamat AS AlamatPelanggan, N.KodePegawai, Peg.Nama AS NamaPegawai " +
                          " FROM NotaJual N INNER JOIN Pelanggan Plg ON N.KodePelanggan=Plg.KodePelanggan " +
                          " INNER JOIN Pegawai Peg ON N.KodePegawai=Peg.KodePegawai " +
                          " ORDER BY N.NoNota DESC ";
            MySqlCommand c1 = new MySqlCommand(sql1, k1.KoneksiDB);

            try
            {
                MySqlDataReader data1 = c1.ExecuteReader();
                while (data1.Read() == true)
                {
                    string   nomorNota       = data1.GetValue(0).ToString();
                    DateTime tglNota         = DateTime.Parse(data1.GetValue(1).ToString());
                    string   kdPelanggan     = data1.GetValue(2).ToString();
                    string   nmPelanggan     = data1.GetValue(3).ToString();
                    string   alamatPelanggan = data1.GetValue(4).ToString();

                    Pelanggan Plg = new Pelanggan();
                    Plg.KodePelanggan   = kdPelanggan;
                    Plg.NamaPelanggan   = nmPelanggan;
                    Plg.AlamatPelanggan = alamatPelanggan;

                    string kdPegawai = data1.GetValue(5).ToString();
                    string nmPegawai = data1.GetValue(6).ToString();

                    Pegawai Peg = new Pegawai();
                    Peg.KodePegawai = kdPegawai;
                    Peg.NamaPegawai = nmPegawai;

                    List <DetilNotaJual> listDetilNota = new List <DetilNotaJual>();

                    Koneksi k2 = new Koneksi();
                    k2.Connect();

                    string sql2 = "SELECT NJD.KodeBarang, B.Nama, NJD.Harga, NJD.Jumlah " +
                                  " FROM notajual N INNER JOIN notajualdetil NJD ON N.NoNota=NJD.NoNota " +
                                  " INNER JOIN Barang B ON NJD.KodeBarang = B.KodeBarang " +
                                  " WHERE N.NoNota = '" + nomorNota + "'";

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

                    MySqlDataReader data2 = c2.ExecuteReader();
                    while (data2.Read() == true)
                    {
                        string kdBarang = data2.GetValue(0).ToString();
                        string nmBarang = data2.GetValue(1).ToString();
                        Barang Brg      = new Barang();
                        Brg.KodeBarang = kdBarang;
                        Brg.NamaBarang = nmBarang;

                        int hrgJual = int.Parse(data2.GetValue(2).ToString());
                        int jmlJual = int.Parse(data2.GetValue(3).ToString());

                        DetilNotaJual detilNota = new DetilNotaJual(Brg, hrgJual, jmlJual);

                        listDetilNota.Add(detilNota);
                    }

                    c2.Dispose();
                    data2.Dispose();

                    NotaJual nota = new NotaJual(nomorNota, tglNota, Plg, Peg, listDetilNota);

                    listNotaJual.Add(nota);
                }
                c1.Dispose();
                data1.Dispose();
                return("sukses");
            }
            catch (Exception e)
            {
                return(e.Message);
            }
        }
Exemple #6
0
        public string CariData(string kriteria, string nilaiKriteria)
        {
            Koneksi k1 = new Koneksi();

            k1.Connect();
            //tuliskan perintah SQL yang akan dijalankan
            string sql = "SELECT N.NoNota,N.Tanggal, N.KodePelanggan, Plg.Nama AS NamaPelanggan, Plg.Alamat AS AlamatPelanggan, N.KodePegawai, Peg.Nama AS NamaPegawai " +
                         " FROM NotaJual N INNER JOIN Pelanggan Plg ON N.KodePelanggan=Plg.KodePelanggan " +
                         " INNER JOIN Pegawai Peg ON N.KodePegawai=Peg.KodePegawai " +
                         " WHERE " + kriteria + " LIKE '%" + nilaiKriteria + "%'";

            //Buat MySqlCommand
            MySqlCommand c1 = new MySqlCommand(sql, k1.KoneksiDB);

            try
            {
                //Gunakan MySqlDataReader dan ExecuteReader untuk menjalankan perintah SELECT
                MySqlDataReader data1 = c1.ExecuteReader();

                //selama data reader masih bisa terbaca (selama masih ada data)
                while (data1.Read() == true)
                {
                    //mendapatkan kode kategori dari hasil data reader
                    string nomorNota = data1.GetValue(0).ToString();
                    //mendapatkan nama kategori dari hasil data reader
                    DateTime tglNota = DateTime.Parse(data1.GetValue(1).ToString());
                    string   kdPlg   = data1.GetValue(2).ToString();

                    string nmPlg    = data1.GetValue(3).ToString();
                    string almatPlg = data1.GetValue(4).ToString();

                    Pelanggan Plg = new Pelanggan();
                    Plg.KodePelanggan   = kdPlg;
                    Plg.NamaPelanggan   = nmPlg;
                    Plg.AlamatPelanggan = almatPlg;

                    string  kodePeg = data1.GetValue(5).ToString();
                    string  nmPeg   = data1.GetValue(6).ToString();
                    Pegawai Peg     = new Pegawai();
                    Peg.KodePegawai = kodePeg;
                    Peg.NamaPegawai = nmPeg;

                    List <DetilNotaJual> listDetilNota = new List <DetilNotaJual>();

                    Koneksi k2 = new Koneksi();
                    k2.Connect();

                    string sql2 = "SELECT NJD.KodeBarang, B.Nama, NJD.Harga, NJD.Jumlah " +
                                  " FROM notajual N INNER JOIN notajualdetil NJD ON N.NoNota=NJD.NoNota " +
                                  " INNER JOIN Barang B ON NJD.KodeBarang = B.KodeBarang " +
                                  " WHERE N.NoNota = '" + nomorNota + "'";

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

                    MySqlDataReader data2 = c2.ExecuteReader();
                    while (data2.Read() == true)
                    {
                        string kdBarang = data2.GetValue(0).ToString();
                        string nmBarang = data2.GetValue(1).ToString();
                        Barang Brg      = new Barang();
                        Brg.KodeBarang = kdBarang;
                        Brg.NamaBarang = nmBarang;

                        int hrgJual = int.Parse(data2.GetValue(2).ToString());
                        int jmlJual = int.Parse(data2.GetValue(3).ToString());

                        DetilNotaJual detilNota = new DetilNotaJual(Brg, hrgJual, jmlJual);

                        listDetilNota.Add(detilNota);
                    }

                    c2.Dispose();
                    data2.Dispose();

                    NotaJual nota = new NotaJual(nomorNota, tglNota, Plg, Peg, listDetilNota);

                    listNotaJual.Add(nota);
                }
                c1.Dispose();
                data1.Dispose();
                return("sukses");
            }
            catch (Exception e)
            {
                return(e.Message);
            }
        }
Exemple #7
0
        public static string CetakNota(string pKriteria, string pNilaiKriteria, string pNamaFile)
        {
            try {
                List <NotaJual> listNotaJual = new List <NotaJual>();

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

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

                for (int i = 0; i < listNotaJual.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 : " + listNotaJual[i].NoNotaJual);
                    file.WriteLine("Tanggal : " + listNotaJual[i].Tanggal);
                    file.WriteLine("");
                    file.WriteLine("Pelanggan : " + listNotaJual[i].Pelanggan.Nama);
                    file.WriteLine("Alamat    : " + listNotaJual[i].Pelanggan.Alamat);
                    file.WriteLine("");
                    file.WriteLine("Kasir   : " + listNotaJual[i].Pegawai.Nama);
                    file.WriteLine("=".PadRight(50, '='));

                    //tampilkan barang yang terjual
                    int grandTotal = 0; // untuk menampilkan grandtotal nota
                    for (int j = 0; j < listNotaJual[i].ListNotaJualDetil.Count; j++)
                    {
                        string nama = listNotaJual[i].ListNotaJualDetil[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   = listNotaJual[i].ListNotaJualDetil[j].Jumlah;
                        int harga    = listNotaJual[i].ListNotaJualDetil[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);
            }
        }
Exemple #8
0
        public static string BacaData(string kriteria, string nilaiKriteria, List <NotaJual> listHasilData)
        {
            string sql = "";

            //jika tidak ada kriteria yang diisikan
            if (kriteria == "")
            {
                sql = "SELECT N.NoNota, N.Tanggal, N.KodePelanggan, P.Nama AS NamaPelanggan, P.Alamat AS AlamatPelanggan, N.KodePegawai, PG.Nama AS NamaPegawai FROM notajual N INNER JOIN pelanggan P ON N.KodePelanggan = P.KodePelanggan INNER JOIN pegawai PG ON N.KodePegawai = PG.KodePegawai ORDER BY N.NoNota DESC";
            }
            else
            {
                sql = "SELECT N.NoNota, N.Tanggal, N.KodePelanggan, P.Nama AS NamaPelanggan, P.Alamat AS AlamatPelanggan, N.KodePegawai, PG.Nama AS NamaPegawai FROM notajual N INNER JOIN pelanggan P ON N.KodePelanggan = P.KodePelanggan 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       kodePlg   = int.Parse(hasilData.GetValue(2).ToString());
                    string    namaPlg   = hasilData.GetValue(3).ToString();
                    string    alamatPlg = hasilData.GetValue(4).ToString();
                    Pelanggan plg       = new Pelanggan();
                    plg.KodePelanggan = kodePlg;
                    plg.Nama          = namaPlg;
                    plg.Alamat        = alamatPlg;

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


                    NotaJual nota = new NotaJual(nomorNota, tglNota, plg, peg);

                    string sql2 = "SELECT NJD.KodeBarang, B.Nama, NJD.Harga, NJD.Jumlah FROM notajual N INNER JOIN notajualdetil NJD ON N.NoNota = NJD.NoNota INNER JOIN barang B ON NJD.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());
                        NotaJualDetil detilNota = new NotaJualDetil(brg, hrgJual, jumJual);

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