/// <summary> /// Mendapatkan daftar barang /// </summary> private void GetDaftarBarang() { /* Jika kalian ingin membuat sebuah method * yang dipanggil melalui system threading. * Maka Anda harus menginvoke UI-UI yang akan * dieksekusi terlebih dahulu * */ Invoke((MethodInvoker) delegate { barang = new BarangDataHelper(); dataGridBarang.Rows.Clear(); for (int i = 0; i < barang.GetID().Count; i++) { dataGridBarang.Rows.Add(new object[] { barang.GetID()[i], barang.GetKode()[i], barang.GetNama()[i], barang.GetJenis()[i], barang.GetSupplier()[i], barang.GetStock()[i], "Rp" + barang.GetHargaJual()[i].ToString("N0"), "Rp" + barang.GetHargaBeli()[i].ToString("N0"), "Rp" + barang.GetBiayaProduksi()[i].ToString("N0"), barang.GetTerjual()[i], "Rp" + barang.Keuntungan(barang.GetHargaJual()[i] , barang.GetHargaBeli()[i], barang.GetBiayaProduksi()[i] , barang.GetTerjual()[i]).ToString("N0") }); } }); }
/// <summary> /// Mendapatkan profit penjualan berdasarkan /// barang yang terjual /// </summary> /// <returns></returns> public int GetProfit() { barang = new BarangDataHelper(); int untung = 0; //Loop semua data id barang pada database for (int i = 0; i < barang.GetID().Count; i++) { /* Lalu melakukan perhitungan keuntungan * dari tiap barang, dan menjumlahkan totalnya * hingga menjadi bilangan profit utuh * */ untung += barang.Keuntungan(barang.GetHargaJual()[i] , barang.GetHargaBeli()[i] , barang.GetBiayaProduksi()[i] , barang.GetTerjual()[i]); } return(untung); }
private void btnBayar_Click(object sender, EventArgs e) { utils = new Ultilities(); barang = new BarangDataHelper(); tss = new Transaksi(); string tanggal = DateTime.Now.ToString("dd-MM-yyyy"); if (_kode.Count > 0) { Cash _cash = new Cash(); _cash.ShowDialog(); //Mengambil input nominal dari form cash cash = int.Parse(_cash.txtCash.Text); //Jika nominal lebih besar / sama dengan dari total biaya if (cash >= TotalBiaya) { int newTotalTrans; //Mengupdate total transaksi newTotalTrans = tss.GetTotalTransaksi(); newTotalTrans += 1; tss.UpdateTotalTransaksi(newTotalTrans); //Mengambil data pada keranjang belanja for (int i = 0; i < _kode.Count; i++) { /* Mengambil value stock pada barang * di keranjang belanja untuk langsung * dikurangi dengan jumlah pembelian. * */ int newStock = 0, newTerjual = 0; for (int b = 0; b < barang.GetNama().Count; b++) { if (barang.GetNama()[b] == _name[i]) { newStock = barang.GetStock()[b]; newTerjual = barang.GetTerjual()[b]; } } //Mengupdate jumlah stock barang tersebut newStock -= _jumlah[i]; barang.UpdateStock(_name[i], newStock); //Mengupdate barang terjual newTerjual += _jumlah[i]; barang.UpdateTerjual(_name[i], newTerjual); //Mendapatkan ID Transaksi string IDTransaksi = "TR" + tss.GetTotalTransaksi().ToString("00000"); //Menambah data transaksi ke dalam database tss.AddTransaksi(IDTransaksi, _name[i], _kode[i], _jenis[i], _stock[i], _jumlah[i], _rawHarga[i], tanggal, username, _diskon[i], _harga[i]); } //Membersihkan keranjang belanja ClearKeranjang(); //Mendapatkan data transaksi GetTransaksi(); //Mendapatkan total Stock GetTotalStock(); //Mendapatkan total profit GetProfit(); //Mendapatkan total nominal transaksi GetTotalPay(); //Mendapatkan barang terlaris GetBarangTerlaris(); lblDetailTotalBiaya.Text = "Rp0"; } else { utils.ShowMessage("Nominal cash tidak mencukupi", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { utils.ShowMessage("Keranjang Belanjang kosong!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }