public Pembayaran(string idPembayaran, string caraPembayaran, DateTime tgl, int nominal, NotaPembelian notaPembelian)
 {
     this.idPembayaran   = idPembayaran;
     this.caraPembayaran = caraPembayaran;
     this.tgl            = tgl;
     this.nominal        = nominal;
     this.notaPembelian  = notaPembelian;
 }
Beispiel #2
0
 public Penerimaan(string kodePengiriman, string jenisPengiriman, string nama, string keterangan, int biayaKirim, DateTime tglTerima, NotaPembelian notaPembelian)
 {
     this.kodePenerimaan  = kodePengiriman;
     this.jenisPengiriman = jenisPengiriman;
     this.nama            = nama;
     this.keterangan      = keterangan;
     this.biayaKirim      = biayaKirim;
     this.tglTerima       = tglTerima;
     this.notaPembelian   = notaPembelian;
 }
        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);
                }
            }
        }
        public static string BacaDataPembayaran(string pKriteria, string pNilaiKriteria, List <NotaPembelian> listNotaBeli)
        {
            string sql = "";

            if (pKriteria == "")
            {
                sql = "select * from notapembelian where status ='B'";
            }
            else
            {
                sql = " select * from notapembelian where status ='B' and "
                      + pKriteria + " LIKE '%" +
                      pNilaiKriteria + "%'";
            }
            try
            {
                MySqlDataReader hasilData = Koneksi.JalankanPerintahQuery(sql);
                listNotaBeli.Clear();//kosongi isi list terlebih dahulu

                while (hasilData.Read())
                {
                    string   nomornota = hasilData.GetValue(0).ToString();
                    int      nominal   = int.Parse(hasilData.GetValue(2).ToString());
                    string   status    = hasilData.GetValue(6).ToString();
                    double   disc      = double.Parse(hasilData.GetValue(1).ToString());
                    DateTime btsDisc   = DateTime.Parse(hasilData.GetValue(4).ToString());

                    NotaPembelian nota = new NotaPembelian();
                    nota.NoNotaPembelian = nomornota;
                    nota.Status          = status;
                    nota.TotalHarga      = nominal;
                    nota.Diskon          = disc;
                    nota.TglBatasDiskon  = btsDisc;
                    listNotaBeli.Add(nota);
                }
                return("1");
            }
            catch (MySqlException ex)
            {
                return(ex.Message);
            }
        }
        public static string BacaData(string pKriteria, string pNilaiKriteria, List <Pembayaran> listHasilData)
        {
            string sql = "";

            if (pKriteria == "")
            {
                sql = " select P.idPembayaran, P.tgl, P.caraPembayaran, P.nominal, NP.noNotaPembelian, NP.diskon FROM pembayaran P inner join " +
                      " notapembelian NP on P.nonotapembelian = NP.nonotapembelian ";
            }
            else
            {
                sql = "  select P.idPembayaran, P.tgl, P.caraPembayaran, P.nominal, NP.noNotaPembelian, NP.diskon FROM pembayaran P inner join " +
                      " notapembelian NP on P.nonotapembelian = NP.nonotapembelian where "
                      + pKriteria + " LIKE '%" +
                      pNilaiKriteria + "%'";
            }

            try
            {
                MySqlDataReader hasilData = Koneksi.JalankanPerintahQuery(sql);
                listHasilData.Clear();

                while (hasilData.Read() == true)
                {
                    string   idpemb   = hasilData.GetValue(0).ToString();
                    DateTime tanggal  = DateTime.Parse(hasilData.GetValue(1).ToString());
                    string   caraPemb = hasilData.GetValue(2).ToString();
                    int      nominal  = int.Parse(hasilData.GetValue(3).ToString());


                    NotaPembelian nota = new NotaPembelian();
                    nota.NoNotaPembelian = hasilData.GetValue(4).ToString();
                    Pembayaran pembayaran = new Pembayaran(idpemb, caraPemb, tanggal, nominal, nota);
                    listHasilData.Add(pembayaran);
                }
                return("1");
            }
            catch (MySqlException ex)
            {
                return(ex.Message + ". Perintah sql : " + sql);
            }
        }
Beispiel #6
0
        public static string BacaData(string pKriteria, string pNilaiKriteria, List <Penerimaan> listHasilData)
        {
            string sql = "";

            if (pKriteria == "")
            {
                sql = " select * from penerimaan order by kodepenerimaan desc";
            }
            else
            {
                sql = " select * from penerimaan where " + pKriteria + " LIKE '%" + pNilaiKriteria + "%' order by kodepenerimaan desc";
            }

            try
            {
                MySqlDataReader hasilData = Koneksi.JalankanPerintahQuery(sql);
                listHasilData.Clear();

                while (hasilData.Read() == true)
                {
                    NotaPembelian nota = new NotaPembelian();
                    nota.NoNotaPembelian = hasilData.GetValue(6).ToString();

                    string   kodePen = hasilData.GetValue(0).ToString();
                    string   pJenis  = hasilData.GetValue(1).ToString();
                    int      biaya   = int.Parse(hasilData.GetValue(2).ToString());
                    DateTime tanggal = DateTime.Parse(hasilData.GetValue(3).ToString());
                    string   nama    = hasilData.GetValue(4).ToString();
                    string   ket     = hasilData.GetValue(5).ToString();

                    Penerimaan pen = new Penerimaan(kodePen, pJenis, nama, ket, biaya, tanggal, nota);

                    listHasilData.Add(pen);
                }
                return("1");
            }
            catch (MySqlException ex)
            {
                return(ex.Message + ". Perintah sql : " + sql);
            }
        }
        public static string TambahData(Pembayaran pPemb, NotaPembelian pNota)
        {
            using (var tranScope = new TransactionScope(TransactionScopeOption.RequiresNew))
            {
                //sql1 untuk menambahkan data ke tabel pembayaran
                string sql = "Insert into pembayaran(idPembayaran, tgl, caraPembayaran, nominal, noNotaPembelian) values ('" +
                             pPemb.IdPembayaran + "',  '" +
                             pPemb.Tgl.ToString("yyyy-MM-dd hh:mm:ss") + "', '" +
                             pPemb.CaraPembayaran + "'," +
                             pPemb.Nominal + ", '" +
                             pNota.NoNotaPembelian + "')";
                try
                {
                    //jalankan perintah sql untuk menambahkan ke tabel
                    Koneksi.JalankanPerintahDML(sql);

                    //sql2 untuk mengubah status notapenjualan yang belum lunas atau P menjadi L
                    string sql2 = "UPDATE notapembelian SET  status ='" +
                                  pNota.Status + "' WHERE  noNotaPembelian = '" +
                                  pNota.NoNotaPembelian + "'";

                    //jalankan sql2 untuk menambhkan ke detiljurnal
                    Koneksi.JalankanPerintahDML(sql2);



                    //jika semua perintah sql berhasil dijalankan
                    tranScope.Complete();
                    return("1");
                }
                catch (MySqlException ex)
                {
                    //jika ada kegagalan perintah
                    tranScope.Dispose();
                    return(ex.Message);
                }
            }
        }
        public static string CetakNota(string pKriteria, string pNilaiKriteria, string pNamaFile)
        {
            try
            {
                List <NotaPembelian> listNotaBeli = new List <NotaPembelian>();

                string hasilBaca = NotaPembelian.BacaData(pKriteria, pNilaiKriteria, listNotaBeli);

                StreamWriter file = new StreamWriter(pNamaFile);

                for (int i = 0; i < listNotaBeli.Count; i++)
                {
                    file.WriteLine("");
                    file.WriteLine("TOKO MAJU MAKMUR UNTUNG SELALU");
                    file.WriteLine("Jl. Raya Kalirungkut Surabaya");
                    file.WriteLine("Telp. (031) - 12345678");
                    file.WriteLine("=".PadRight(50, '='));

                    //Header
                    file.WriteLine("No.Nota : " + listNotaBeli[i].NoNotaPembelian);
                    file.WriteLine("Tanggal : " + listNotaBeli[i].TglBeli);
                    file.WriteLine("");
                    file.WriteLine("Supplier : " + listNotaBeli[i].Supplier.Nama);
                    file.WriteLine("Alamat   : " + listNotaBeli[i].Supplier.Alamat);
                    file.WriteLine("");
                    //file.WriteLine("Pegawai Pembelian : " + listNotaBeli[i]..Nama);
                    file.WriteLine("=".PadRight(50, '='));

                    //Tampilkan barang yg terjual
                    long grandTotal = 0;
                    for (int j = 0; j < listNotaBeli[i].ListNotaBeliDetil.Count; j++)
                    {
                        string nama = listNotaBeli[i].ListNotaBeliDetil[j].Barang.Nama;

                        if (nama.Length > 30)
                        {
                            nama = nama.Substring(0, 30);
                        }

                        int  jmlh     = listNotaBeli[i].ListNotaBeliDetil[j].Jumlah;
                        long harga    = listNotaBeli[i].ListNotaBeliDetil[j].HargaBeli;
                        long subTotal = jmlh * harga;

                        file.Write(nama.PadRight(30, ' '));
                        file.Write(jmlh.ToString().PadRight(3, ' '));
                        file.Write(harga.ToString("0,###").PadLeft(7, ' '));
                        file.Write(subTotal.ToString("0,###").PadLeft(10, ' '));
                        file.WriteLine("");
                        //hitung grand total
                        grandTotal = grandTotal + (jmlh * harga);
                    }
                    file.WriteLine("=".PadRight(50, '='));
                    file.WriteLine("TOTAL : " + grandTotal.ToString("0,###"));
                    file.WriteLine("=".PadRight(50, '='));
                    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 (MySqlException e)
            {
                return(e.Message);
            }
        }
        public static string BacaData(string kriteria, string nilaiKriteria, List <NotaPembelian> listNotaBeli)
        {
            string sql1 = "";

            if (kriteria == "")
            {
                //tuliskan perintah sql1 = untuk menampilkan semua data  tabel nota pembelian
                sql1 = "select * from vnotapembelian";
            }
            else
            {
                sql1 = "SELECT * FROM vnotapembelian WHERE " + kriteria + " LIKE '%" + nilaiKriteria + "%'";
            }

            try
            {
                //data reader 1 = memperoleh semua data dari tabel notaPembelian
                MySqlDataReader hasilData1 = Koneksi.JalankanPerintahQuery(sql1);
                listNotaBeli.Clear();//kosongi isi list terlebih dahulu

                while (hasilData1.Read())
                {
                    //mendapatkan  nomornota, status ,dll
                    string   nomorNota         = hasilData1.GetValue(0).ToString();               // nonotapembelian
                    double   diskon            = double.Parse(hasilData1.GetValue(4).ToString()); // diskon
                    int      totalHarga        = int.Parse(hasilData1.GetValue(5).ToString());
                    DateTime tglBatasPelunasan = DateTime.Parse(hasilData1.GetValue(6).ToString());
                    DateTime tglBatasDiskon    = DateTime.Parse(hasilData1.GetValue(7).ToString());
                    DateTime tglBeli           = DateTime.Parse(hasilData1.GetValue(8).ToString());
                    string   status            = hasilData1.GetValue(9).ToString();
                    string   keterangan        = hasilData1.GetValue(10).ToString();

                    //supplier yang melakukan transaksi
                    //mendapatkan idsupplier, nama, dan alamat
                    string idSup     = hasilData1.GetValue(1).ToString();
                    string namaSup   = hasilData1.GetValue(2).ToString();
                    string alamatSup = hasilData1.GetValue(3).ToString();

                    //buat object bertipe Supplier
                    Supplier spl = new Supplier();
                    //tambahkan 3 data dibawah
                    spl.IdSupplier = idSup;
                    spl.Nama       = namaSup;
                    spl.Alamat     = alamatSup;

                    //nota beli
                    //buat object notapembelian dan tambahkan data
                    NotaPembelian nota = new NotaPembelian(nomorNota, status, keterangan, diskon, totalHarga,
                                                           tglBatasPelunasan, tglBatasDiskon, tglBeli, spl);

                    //DETAIL nota Beli
                    //query utk detail nota Beli dati tiap nota beli
                    //sql2 untuk mendapatkan barang yang ada di nota  (dar tabel detilnotabeli)
                    string sql2 = "SELECT DNB.kodeBarang, B.Nama, DNB.Jumlah , DNB.HargaBeli FROM NotaPembelian N INNER JOIN " +
                                  "detilNotaBeli DNB ON N.noNotaPembelian = DNB.noNotaPembelian INNER JOIN Barang B ON " +
                                  "DNB.KodeBarang = B.KodeBarang WHERE N.noNotaPembelian = '" + nomorNota + "'";

                    //memperoleh semua data barang nota ditabel detilnotabeli
                    MySqlDataReader hasilData2 = Koneksi.JalankanPerintahQuery(sql2);

                    while (hasilData2.Read())
                    {
                        //mendapatkan  kode dan nama barang yang dibeli
                        string kodeBrg = hasilData2.GetValue(0).ToString();
                        string namaBrg = hasilData2.GetValue(1).ToString();
                        //buat object barang dan tambahkan
                        Barang brg = new Barang();
                        brg.KodeBarang = kodeBrg;
                        brg.Nama       = namaBrg;

                        //mendapatkan harga beli dan jumlah transaksi
                        int hargaBeli = int.Parse(hasilData2.GetValue(3).ToString());
                        int jumlah    = int.Parse(hasilData2.GetValue(2).ToString());

                        //buat object bertipe detilnotabeli dan tambahkan
                        //ingat baik baik agar fk tidak duplicate
                        DetilNotaBeli detilNota = new DetilNotaBeli(brg, jumlah, hargaBeli);

                        //simpan detil barang ke nota
                        nota.TambahDetilBarang(brg, jumlah, hargaBeli);
                    }
                    //simpan ke list
                    listNotaBeli.Add(nota);
                }
                return("1");
            }
            catch (MySqlException ex)
            {
                return(ex.Message);
            }
        }