/// <summary> /// Menghapus details transaksi /// </summary> private void RemoveDetails() { utils = new Ultilities(); for (int i = 0; i < _kode.Count; i++) { if (_kode[i] != null) { utils.ClearLabel(lblDetailBarang, _name[i]); utils.ClearLabel(lblDetailKode, _kode[i]); utils.ClearLabel(lblDetailJenis, _jenis[i]); utils.ClearLabel(lblDetailJumlah, _jumlah[i].ToString()); if (_diskon[i] > 0) { utils.ClearLabel(lblDetailHarga, "Rp" + _harga[i].ToString("N0") + " (" + _diskon[i] + "%)"); } else { utils.ClearLabel(lblDetailHarga, "Rp" + _harga[i].ToString("N0")); } } } if (_kode.Count == 0) { utils.ClearLabel(lblDetailBarang, "?"); utils.ClearLabel(lblDetailKode, "?"); utils.ClearLabel(lblDetailJenis, "?"); utils.ClearLabel(lblDetailJumlah, "?"); utils.ClearLabel(lblDetailHarga, "?"); } }
/// <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); } }
/// <summary> /// Mendapatkan detail user /// seperti firstname, lastname dan email /// </summary> private void GetDetails() { acc = new Account(); utils = new Ultilities(); utils.ClearTextBox(txtFirstname, acc.GetFirstname(username)); utils.ClearTextBox(txtLastname, acc.GetLastname(username)); utils.ClearTextBox(txtEmail, acc.GetEmail(username)); }
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> /// 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> /// Membersihkan text Textbox /// </summary> private void ClearText() { utils = new Ultilities(); utils.ClearTextBox(txtKode, string.Empty); utils.ClearTextBox(txtNamaBarang, string.Empty); comboJenisBarang.SelectedIndex = -1; utils.ClearTextBox(txtSupplier, string.Empty); utils.ClearTextBox(txtStock, string.Empty); utils.ClearTextBox(txtHargaJual, string.Empty); utils.ClearTextBox(txtHargaBeli, "0"); utils.ClearTextBox(txtBiayaProduksi, "0"); }
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); } }
private void Main_Load(object sender, EventArgs e) { //Melakukan calling objek class myDb = new DatabaseHelper(); myFile = new FileManager(myDb.DatabaseName); utils = new Ultilities(); //Pengecekan file database tersedia if (!myFile.isFileExists()) { myDb.CreateDatabase(); int num = 0; myDb.InsertTotalTransaksi(num); } //Authentication Login Account if (Authentication()) { //Melakukan seleksi tab control ke detail transaksi metroTabControl1.SelectedIndex = 0; //Membuat Kolom yang diperlukan CreateBelanjaColumns(); CreateBarangTerlarisColumns(); //Mendapatkan biodata user GetBiodata(); //Mendapatkan total profit GetProfit(); //Mendapatkan total barang GetTotalBarang(); //Mendapatkan total stock barang GetTotalStock(); //Mendapatkan daftar barang GetDaftarBarang(); //Mendapatkan nomor diskon GetDiscNum(); //Mendapatkan daftar transaksi GetTransaksi(); //Mendapatkan total nominal transaksi GetTotalPay(); //Mendapatkan barang terlaris GetBarangTerlaris(); } }
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> /// Berfungsi sebagai penampil details transaksi. /// </summary> /// <param name="name"></param> /// <param name="kode"></param> /// <param name="jenis"></param> /// <param name="harga"></param> private void AddDetails(string name, string kode, string jenis, int harga, int jumlah) { utils = new Ultilities(); utils.ClearLabel(lblDetailBarang, name); utils.ClearLabel(lblDetailKode, kode); utils.ClearLabel(lblDetailJenis, jenis); utils.ClearLabel(lblDetailJumlah, jumlah.ToString()); if (int.Parse(comboDiskon.Text.Replace("%", "")) > 0) { utils.ClearLabel(lblDetailHarga, "Rp" + harga.ToString("N0") + " (" + comboDiskon.Text + ")"); } else { utils.ClearLabel(lblDetailHarga, "Rp" + harga.ToString("N0")); } }
/// <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); } }
/// <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> /// 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> /// 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); } } }
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); } } }
/// <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 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); } }
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); }
/// <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); } }