示例#1
0
        /// <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")
                    });
                }
            });
        }
示例#2
0
        /// <summary>
        /// Menghapus barang dari database
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnHapus_Click(object sender, EventArgs e)
        {
            barang = new BarangDataHelper();
            utils  = new Ultilities();

            if (indexBarang != string.Empty)
            {
                try
                {
                    barang.RemoveBarang(indexBarang);
                    utils.ShowMessage("Barang berhasil terhapus!", "Hapus Barang Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    //Melakukan refresh UI
                    ClearText();
                    indexBarang = string.Empty;

                    /* Menjalankan method di background
                     * hal ini mencegah terjadinya crash jika melakukan
                     * load barang dalam jumlah gede
                     * */
                    Thread daftar = new Thread(() => GetDaftarBarang());
                    daftar.Start();
                }
                catch (Exception ex)
                {
                    utils.ShowMessage(ex.Message, "Eror", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
示例#3
0
        /// <summary>
        /// Menambah barang baru
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnTambah_Click(object sender, EventArgs e)
        {
            barang = new BarangDataHelper();
            utils  = new Ultilities();

            if (txtKode.Text != string.Empty &&
                txtNamaBarang.Text != string.Empty &&
                comboJenisBarang.Text != string.Empty &&
                txtSupplier.Text != string.Empty &&
                txtStock.Text != string.Empty &&
                txtHargaJual.Text != string.Empty &&
                txtHargaBeli.Text != string.Empty &&
                txtBiayaProduksi.Text != string.Empty)
            {
                if (!barang.isBarangExists(txtNamaBarang.Text) &&
                    !barang.isKodeExists(txtKode.Text))
                {
                    try
                    {
                        int terjual = 0;

                        barang.AddBarang(txtKode.Text
                                         , txtNamaBarang.Text
                                         , comboJenisBarang.Text
                                         , txtSupplier.Text
                                         , int.Parse(txtStock.Text)
                                         , int.Parse(txtHargaJual.Text)
                                         , int.Parse(txtHargaBeli.Text)
                                         , int.Parse(txtBiayaProduksi.Text)
                                         , terjual);

                        utils.ShowMessage("Berhasil menambah barang", "Tambah Barang Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information);

                        //Clear Textbox
                        ClearText();

                        /* Menjalankan method di background
                         * hal ini mencegah terjadinya crash jika melakukan
                         * load barang dalam jumlah gede
                         * */
                        Thread daftar = new Thread(() => GetDaftarBarang());
                        daftar.Start();
                    }
                    catch (Exception ex)
                    {
                        utils.ShowMessage(ex.Message, "Eror", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    utils.ShowMessage("Barang tersebut sudah ada!", "Gagal Tambah Barang", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
                utils.ShowMessage("Silahkan isi semua bagian", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
示例#4
0
        /// <summary>
        /// Mendapatkan seluruh barang yang
        /// ada dan menambahkannya ke dalam combobox
        /// </summary>
        private void GetDaftarBarang()
        {
            barang = new BarangDataHelper();
            comboBarang.Items.Clear();

            foreach (string name in barang.GetNama())
            {
                comboBarang.Items.Add(name);
            }
        }
示例#5
0
        private void btnAdd_Click(object sender, EventArgs e)
        {
            barang = new BarangDataHelper();
            utils  = new Ultilities();
            if (txtJumlah.Text != string.Empty)
            {
                if (txtStock.Text == "0")
                {
                    utils.ShowMessage("Stock barang telah habis!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }

                listKeranjang.Items.Clear();

                if (comboDiskon.Text == string.Empty)
                {
                    comboDiskon.SelectedIndex = 0;
                }
                int hargaBarang = int.Parse(txtHargaBarang.Text);

                if (int.Parse(comboDiskon.Text.Replace("%", "")) > 0)
                {
                    int subt = hargaBarang * int.Parse(comboDiskon.Text.Replace("%", "")) / 100;
                    hargaBarang -= subt;
                }

                AddKeranjang(comboBarang.Text, int.Parse(txtJumlah.Text), hargaBarang, int.Parse(comboDiskon.Text.Replace("%", "")));

                //Menambah biaya
                AddTotalBiaya(hargaBarang, int.Parse(txtJumlah.Text));
                AddDetails(comboBarang.Text, txtKode.Text, txtJenisBarang.Text, hargaBarang, int.Parse(txtJumlah.Text));

                for (int i = 0; i < _name.Count; i++)
                {
                    rows[0] = "Rp" + _harga[i].ToString("N0");
                    rows[1] = _jumlah[i].ToString();

                    listKeranjang.Items.Add(_name[i], 0).SubItems.AddRange(rows);
                }

                //Refresh UI
                comboBarang.SelectedIndex = -1;
                comboDiskon.SelectedIndex = -1;
                utils.ClearTextBox(txtKode, string.Empty);
                utils.ClearTextBox(txtJenisBarang, string.Empty);
                utils.ClearTextBox(txtSupplier, string.Empty);
                utils.ClearTextBox(txtStock, string.Empty);
                utils.ClearTextBox(txtHargaBarang, string.Empty);
                utils.ClearTextBox(txtJumlah, string.Empty);
            }
            else
            {
                utils.ShowMessage("Masukkan jumlah belanja", "Penambahan Gagal", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
示例#6
0
        /// <summary>
        /// Mencari barang sesuai keyword dari database
        /// </summary>
        /// <param name="keyword"></param>
        private void searchSomething(string keyword)
        {
            myDb   = new DatabaseHelper();
            utils  = new Ultilities();
            barang = new BarangDataHelper();

            using (SQLiteConnection con = new SQLiteConnection(myDb.GetConnection()))
            {
                using (SQLiteCommand cmd = new SQLiteCommand("SELECT * FROM barang_list WHERE [Nama Barang] LIKE '%" + keyword + "%'", con))
                {
                    con.Open();
                    SQLiteDataReader reader = cmd.ExecuteReader();
                    int count = 0;
                    while (reader.Read())
                    {
                        dataGridBarang.Rows.Clear();
                        count++;
                        string obj    = reader.GetValue(reader.GetOrdinal("Harga Jual")).ToString();
                        string obj2   = reader.GetValue(reader.GetOrdinal("Harga Beli")).ToString();
                        string obj3   = reader.GetValue(reader.GetOrdinal("Biaya Produksi")).ToString();
                        string obj4   = reader.GetValue(reader.GetOrdinal("Terjual")).ToString();
                        int    untung = barang.Keuntungan(int.Parse(obj), int.Parse(obj2), int.Parse(obj3), int.Parse(obj4));

                        dataGridBarang.Rows.Add(new object[]
                        {
                            reader.GetValue(reader.GetOrdinal("ID")),
                            reader.GetValue(reader.GetOrdinal("Kode Barang")),
                            reader.GetValue(reader.GetOrdinal("Nama Barang")),
                            reader.GetValue(reader.GetOrdinal("Jenis Barang")),
                            reader.GetValue(reader.GetOrdinal("Supplier")),
                            reader.GetValue(reader.GetOrdinal("Stock Barang")),
                            "Rp" + int.Parse(obj).ToString("N0"),
                            "Rp" + int.Parse(obj2).ToString("N0"),
                            "Rp" + int.Parse(obj3).ToString("N0"),
                            obj4,
                            "Rp" + untung.ToString("N0")
                        });
                    }
                    if (count < 1)
                    {
                        utils.ShowMessage("Pencarian tidak ditemukan!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        search         = false;
                        txtCari.Text   = string.Empty;
                        btnSearch.Text = "Search";

                        //Mengembalikan keadaan semula
                        Thread daftar = new Thread(() => GetDaftarBarang());
                        daftar.Start();
                    }
                    con.Close();
                }
            }
        }
示例#7
0
        /// <summary>
        /// Mendapatkan daftar Jenis Barang yang tersedia dalam Database
        /// </summary>
        public void GetJenisData()
        {
            barang = new BarangDataHelper();

            //Menghapus seluruh item di daftar jenis agar tidak terjadi duplikasi data
            comboDaftarJenis.Items.Clear();

            //Melakukan looping dari seluruh jenis barang yang terdapat dalam database
            foreach (string jenis in barang.GetJenisBarang())
            {
                //Memasukkan data tersebut ke dalam comboBox
                comboDaftarJenis.Items.Add(jenis);
            }
        }
示例#8
0
        /// <summary>
        /// Proses pemilihan barang dari combobox
        /// lalu sistem akan otomatis menginput details
        /// barang tersebut ke dalam textbox
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void comboBarang_SelectedIndexChanged(object sender, EventArgs e)
        {
            barang = new BarangDataHelper();

            for (int i = 0; i < barang.GetID().Count; i++)
            {
                if (barang.GetNama()[i] == comboBarang.Text)
                {
                    txtKode.Text        = barang.GetKode()[i];
                    txtJenisBarang.Text = barang.GetJenis()[i];
                    txtSupplier.Text    = barang.GetSupplier()[i];
                    txtStock.Text       = barang.GetStock()[i].ToString();
                    txtHargaBarang.Text = barang.GetHargaJual()[i].ToString();
                }
            }
        }
示例#9
0
        /// <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);
        }
示例#10
0
        /// <summary>
        /// Menambah Jenis Barang baru
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnTambah_Click(object sender, EventArgs e)
        {
            barang = new BarangDataHelper();
            utils  = new Ultilities();

            if (txtJenis.Text != string.Empty)
            {
                if (!barang.isJenisExists(txtJenis.Text))
                {
                    try
                    {
                        //Menambahkan jenis barang baru
                        barang.AddJenisBarang(txtJenis.Text);

                        txtJenis.Text = string.Empty;
                        utils.ShowMessage("Berhasil menambah jenis barang!", "Tambah Jenis Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information);

                        /* Setiap data yang dimasukkan, harus direfresh menggunakan
                         * method ini agar data yang ditambahkan ke database akan langsung
                         * bisa terlihat
                         * */
                        GetJenisData();
                    }
                    catch (Exception ex)
                    {
                        utils.ShowMessage(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    utils.ShowMessage("Jenis tersebut sudah ada!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
                utils.ShowMessage("Silahkan masukkan jenis barang!", "Masukkan Jenis Barang", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
示例#11
0
        /// <summary>
        /// Melakukan perubahan data pada barang ke data baru
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnSimpan_Click(object sender, EventArgs e)
        {
            barang = new BarangDataHelper();
            utils  = new Ultilities();

            if (indexBarang != string.Empty)
            {
                try
                {
                    barang.UpdateBarang(txtKode.Text
                                        , txtNamaBarang.Text
                                        , comboJenisBarang.Text
                                        , txtSupplier.Text
                                        , int.Parse(txtStock.Text)
                                        , int.Parse(txtHargaJual.Text)
                                        , int.Parse(txtHargaBeli.Text)
                                        , int.Parse(txtBiayaProduksi.Text));

                    utils.ShowMessage("Berhasil mengubah data!", "Edit Barang Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    //Melakukan refresh UI
                    ClearText();
                    indexBarang = string.Empty;

                    /* Menjalankan method di background
                     * hal ini mencegah terjadinya crash jika melakukan
                     * load barang dalam jumlah gede
                     * */
                    Thread daftar = new Thread(() => GetDaftarBarang());
                    daftar.Start();
                }
                catch (Exception ex)
                {
                    utils.ShowMessage(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
示例#12
0
        /// <summary>
        /// Menghapus Jenis Barang yang sudah ada
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnHapus_Click(object sender, EventArgs e)
        {
            barang = new BarangDataHelper();
            utils  = new Ultilities();

            /* Untuk menghapus beberapa jenis barang,
             * kita hanya perlu memilih jensi barang yang
             * sudah ada melalui combobox
             * */
            if (comboDaftarJenis.Text != string.Empty)
            {
                try
                {
                    barang.RemoveJenisBarang(comboDaftarJenis.Text);

                    utils.ShowMessage("Berhasil menghapus jenis barang!", "Hapus Jenis Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    GetJenisData();
                }
                catch (Exception ex)
                {
                    utils.ShowMessage(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
示例#13
0
        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);
            }
        }
示例#14
0
 /// <summary>
 /// Mendapatkan total stock barang
 /// </summary>
 public void GetTotalStock()
 {
     barang             = new BarangDataHelper();
     lblTotalStock.Text = barang.GetTotalStock().ToString();
 }