/// <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); } } }
/// <summary> /// Proses login akun /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnLogin_Click(object sender, EventArgs e) { acc = new Account(); encrypt = new Encryption(); utils = new Ultilities(); if (txtUsername.Text != string.Empty && txtPassword.Text != string.Empty) { if (acc.Login(txtUsername.Text, encrypt.HashPassword(txtPassword.Text))) { /* Menyimpan username yang berhasil login ke variable username * yang berguna untuk diambill melalui form utama * */ username = txtUsername.Text; isLogged = true; utils.ShowMessage("Berhasil login!", "Login Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information); if (Properties.Settings.Default.RememberID) { Properties.Settings.Default.Username = username; Properties.Settings.Default.Save(); } this.Close(); } else { utils.ShowMessage("Username / password salah!", "Gagal Login", MessageBoxButtons.OK, MessageBoxIcon.Error); txtPassword.Text = string.Empty; } } }
/// <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); } }
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); } }
/// <summary> /// Menyimpan data perubahan details user /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSimpan_Click(object sender, EventArgs e) { acc = new Account(); utils = new Ultilities(); if (txtEmail.Text != string.Empty && txtFirstname.Text != string.Empty && txtLastname.Text != string.Empty) { acc.UpdateUser(username, txtFirstname.Text, txtLastname.Text, txtEmail.Text); utils.ShowMessage("Berhasil menyimpan perubahan!", "Ubah Details Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { utils.ShowMessage("Field tidak boleh kosong!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
private void btnOK_Click(object sender, EventArgs e) { utils = new Ultilities(); if (txtCash.Text != string.Empty) { this.Close(); } else { utils.ShowMessage("Nominal Cash tidak boleh kosong!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
/// <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(); } } }
/// <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); } }
/// <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); } } }
/// <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); } } }
private void btnSimpanPW_Click(object sender, EventArgs e) { security = new Encryption(); utils = new Ultilities(); acc = new Account(); if (txtPasswordLama.Text != string.Empty && txtPasswordBaru.Text != string.Empty) { if (security.HashPassword(txtPasswordLama.Text) == acc.GetPassword(username)) { acc.UpdatePassword(username, security.HashPassword(txtPasswordBaru.Text)); utils.ShowMessage("Berhasil mengubah password", "Ubah Password Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information); utils.ClearTextBox(txtPasswordLama, string.Empty); utils.ClearTextBox(txtPasswordBaru, string.Empty); } else { utils.ShowMessage("Password lama salah!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
private void btnChoose_Click(object sender, EventArgs e) { utils = new Ultilities(); Choose _choose = new Choose(); _choose.ShowDialog(); try { comboBarang.SelectedIndex = comboBarang.Items.IndexOf(_choose.barangChoose); } catch (Exception ex) { utils.ShowMessage(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// Membersihkan data keranjang belanja /// </summary> private void ClearKeranjang() { _kode.Clear(); _name.Clear(); _jenis.Clear(); _supplier.Clear(); _stock.Clear(); _jumlah.Clear(); _rawHarga.Clear(); _harga.Clear(); _diskon.Clear(); listKeranjang.Items.Clear(); RemoveDetails(); if (cash > TotalBiaya) { int kembali = cash - TotalBiaya; utils.ShowMessage("Kembalian: Rp" + kembali.ToString("N0") + "\nTerima kasih telah berbelanja...", "Kembalian", MessageBoxButtons.OK, MessageBoxIcon.Information); } TotalBiaya = 0; cash = 0; }
/// <summary> /// Menghapus barang belanjaan /// dari keranjang belanja /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnRemove_Click(object sender, EventArgs e) { utils = new Ultilities(); int count = 0; foreach (string name in _name) { if (name != null) { count++; } } if (count > 0) { int index = _kode.Count; //Mengurangi harga total biaya RemoveTotalBiaya(_harga[index - 1], _jumlah[index - 1]); _kode.RemoveAt(index - 1); _name.RemoveAt(index - 1); _jenis.RemoveAt(index - 1); _supplier.RemoveAt(index - 1); _jumlah.RemoveAt(index - 1); _harga.RemoveAt(index - 1); _diskon.RemoveAt(index - 1); listKeranjang.Items.RemoveAt(index - 1); RemoveDetails(); } else { utils.ShowMessage("Keranjang belanja kosong!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); } }
/// <summary> /// Proses pendaftaran account /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnDaftar_Click(object sender, EventArgs e) { acc = new Account(); util = new Ultilities(); encrypt = new Encryption(); if (txtUsername.Text != string.Empty && txtPassword.Text != string.Empty && txtConfirmPassword.Text != string.Empty && txtEmail.Text != string.Empty && txtFirstname.Text != string.Empty && txtLastname.Text != string.Empty) { //Melakukan pengecekan kecocokan password dan confirm password if (txtPassword.Text == txtConfirmPassword.Text) { //Username, Password harus terdiri lebih dari 8 karakter if (txtPassword.Text.Length >= 8 && txtConfirmPassword.Text.Length >= 8 && txtUsername.Text.Length >= 8) { //Mendeteksi kevalidan email yang di mana terdapat tanda "@" if (txtEmail.Text.Contains("@")) { try { if (!acc.isExistsData(txtUsername.Text)) { //Menambahkan akun yang terdaftar ke dalam database acc.Add(txtUsername.Text, encrypt.HashPassword(txtPassword.Text), txtEmail.Text, txtFirstname.Text, txtLastname.Text, "Kasir"); util.ShowMessage("Berhasil mendaftar akun!", "Pendaftaran Sukses", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); } else { util.ShowMessage("Username tersebut sudah ada!", "Gagal Mendaftar", MessageBoxButtons.OK, MessageBoxIcon.Error); } } catch (Exception ex) { util.ShowMessage(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { util.ShowMessage("Alamat email tidak valid!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { util.ShowMessage("Username dan Password harus\nterdiri lebih dari 8 karakter!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } else { util.ShowMessage("Password tidak sama!", "Gagal Mendaftar", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { util.ShowMessage("Silahkan isi semua bagian!", "Gagal Mendaftar", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void btnInfoProfit_Click(object sender, EventArgs e) { utils = new Ultilities(); utils.ShowMessage("Perolehan profit berdasarkan pada hasil\ndari harga jual barang dikurangi oleh\nharga beli barang.\nDan transaksi yang memakai diskon \nakan tetap mengambil value profit no diskon.", "Informasi", MessageBoxButtons.OK, MessageBoxIcon.Information); }
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); } }