//Edit #region EDIT //edit jumlah potongan public void SimpanJumlahPotongan(AturanBarang barang) { try { Connect(); string sql1 = $@"DELETE FROM barang_potongan WHERE no_barang = '{barang.barang.no_barang}'"; MySqlCommand command1 = new MySqlCommand(sql1, conn); command1.ExecuteNonQuery(); string sql2 = $@"INSERT INTO barang_potongan (no_barang, jumlah, harga_jual) VALUES "; for (int i = 0; i < barang.AturanHarga.Count; i++) { sql2 += $"({barang.barang.no_barang}, {barang.AturanHarga[i].jumlah}, {barang.AturanHarga[i].harga_jual})"; if (i < barang.AturanHarga.Count - 1) { sql2 += ","; } else { sql2 += ";"; } } MySqlCommand command2 = new MySqlCommand(sql2, conn); command2.Prepare(); command2.ExecuteNonQuery(); Disconnect(); // CustomMessageBox.Show("BARANG BERHASIL DIDAFTAR"); } catch (Exception e) { CustomMessageBox.Show("SIMPAN EDIT POTONGAN : " + e.Message); } }
public List <AturanBarang> GetAturanBarangList(string nama_koleksi) { try { Connect(); string sql = $@"SELECT b.no_barang, b.nama_barang, b.harga_beli, b.harga_jual, b.satuan_id, b.nama_koleksi, s.satuan, s.tipe FROM barang b, barang_satuan s WHERE b.nama_koleksi = '{nama_koleksi}' AND b.satuan_id = s.id"; MySqlCommand command = new MySqlCommand(sql, conn); MySqlDataReader reader = command.ExecuteReader(); List <AturanBarang> result = new List <AturanBarang>(); while (reader.Read()) { string no_barang = reader.GetString("no_barang"); string nama_barang = reader.GetString("nama_barang"); UInt64 harga_beli = reader.GetUInt64("harga_beli"); UInt64 harga_jual = reader.GetUInt64("harga_jual"); int satuan_id = reader.GetInt32("satuan_id"); string satuan_nama = reader.GetString("satuan"); string satuan_tipe = reader.GetString("tipe"); Barang b = new Barang(no_barang, nama_barang, harga_beli, harga_jual, satuan_id, satuan_nama, satuan_tipe, nama_koleksi); AturanBarang aturanBarang = new AturanBarang(b); result.Add(aturanBarang); } reader.Close(); Disconnect(); for (int i = 0; i < result.Count; i++) { result[i].AturanHarga = GetAturanHargaJual(result[i].barang.no_barang); } return(result); } catch (Exception e) { CustomMessageBox.Show("GET ATURAN BARANG LIST : " + e.Message); } return(null); }
public void InitialisasiEditBarang(Barang dataBarang, Koleksi dataKoleksi, FormIsiKoleksi form) { try { koleksi = dataKoleksi; formIsiKoleksi = form; Connection con = new Connection(); aturanBarang = con.GetAturanBarang(dataBarang.no_barang); //isi textbox dan combobox labelTipeSatuan.Text = dataBarang.satuan_tipe; textBoxNoBarangDaftar.Text = aturanBarang.barang.no_barang; textBoxNamaBarang.Text = aturanBarang.barang.nama_barang; textBoxHargaBeli.Text = aturanBarang.barang.harga_beli.ToString(); textBoxHargaJual.Text = aturanBarang.barang.harga_jual.ToString(); labelTipeSatuan.Text = aturanBarang.barang.satuan_tipe; satuanList = con.GetSatuanList(aturanBarang.barang.satuan_tipe); comboBoxSatuan.DataSource = satuanList; comboBoxSatuan.Text = aturanBarang.barang.satuan_nama; //selesai isi //isi aturan harga void AddDataToDataGrid(params object[] data) { dataGridHargaJualData.Rows.Add(data[0], data[1]); } for (int i = 0; i < aturanBarang.AturanHarga.Count; i++) { AddDataToDataGrid(aturanBarang.AturanHarga[i].jumlah, aturanBarang.AturanHarga[i].harga_jual); } //selesai isi textBoxNoBarangDaftar.Enabled = false; tambahBarang = false; labelTambahEdit.Text = "Edit Barang"; } catch (Exception ex) { CustomMessageBox.Show("Error : " + ex.Message); } }
public AturanBarang GetAturanBarang(string no_barang) { try { Connect(); string sql = $@"SELECT b.no_barang, b.nama_barang, b.harga_beli, b.harga_jual, b.satuan_id, b.nama_koleksi, s.satuan, s.tipe FROM barang b, barang_satuan s WHERE b.no_barang = '{no_barang}' AND b.satuan_id = s.id"; MySqlCommand command = new MySqlCommand(sql, conn); MySqlDataReader reader = command.ExecuteReader(); Barang b = new Barang(); while (reader.Read()) { string nama_barang = reader.GetString("nama_barang"); UInt64 harga_beli = reader.GetUInt64("harga_beli"); UInt64 harga_jual = reader.GetUInt64("harga_jual"); int satuan_id = reader.GetInt32("satuan_id"); string satuan_nama = reader.GetString("satuan"); string satuan_tipe = reader.GetString("tipe"); string nama_koleksi = reader.GetString("nama_koleksi"); b = new Barang(no_barang, nama_barang, harga_beli, harga_jual, satuan_id, satuan_nama, satuan_tipe, nama_koleksi); } reader.Close(); Disconnect(); AturanBarang result = new AturanBarang(b, GetAturanHargaJual(no_barang)); return(result); } catch (Exception e) { CustomMessageBox.Show("GET ATURAN BARANG : " + e.Message); } return(null); }
private void buttonSelesai_Click(object sender, EventArgs e) { //try { //Error cek dimulai if (CustomErrorMessage(textBoxNoBarangDaftar, "No Barang tidak boleh kosong", textBoxNamaBarang, "Nama barang tidak boleh kosong", textBoxHargaBeli, "Haraga beli tidak boleh kosong", textBoxHargaJual, "Harga jual tidak boleh kosong")) { return; } for (int i = 0; i < dataGridHargaJualData.Rows.Count; i++) { for (int j = 0; j < dataGridHargaJualData.Rows[i].Cells.Count; j++) { if (dataGridHargaJualData.Rows[i].Cells[j].ColumnIndex < 2) { if (j == 0) { if ((int)dataGridHargaJualData.Rows[i].Cells[j].Value <= 0) { CustomMessageBox.Show("Kolom jumlah pada tabel harga jual tidak boleh 0 ke bawah"); return; } } else { if ((ulong)dataGridHargaJualData.Rows[i].Cells[j].Value <= 0) { CustomMessageBox.Show("Kolom jumlah pada tabel harga jual tidak boleh 0 ke bawah"); return; } } if (dataGridHargaJualData.Rows[i].Cells[j].Value.ToString() == "" || dataGridHargaJualData.Rows[i].Cells[j].Value == null) { CustomMessageBox.Show("Tabel harga jual tidak boleh ada yang kosong"); return; } } } } List <string> jumlahList = new List <string>(); for (int i = 0; i < dataGridHargaJualData.Rows.Count; i++) { for (int j = 0; j < dataGridHargaJualData.Rows[i].Cells.Count; j++) { if (dataGridHargaJualData.Rows[i].Cells[j].ColumnIndex == 0) { jumlahList.Add(dataGridHargaJualData.Rows[i].Cells[j].Value.ToString()); break; } } } for (int i = 0; i < jumlahList.Count; i++) { for (int j = i + 1; j < jumlahList.Count; j++) { if (jumlahList[i] == jumlahList[j]) { CustomMessageBox.Show("Jumlah tidak boleh ada yang sama"); return; } } } string no_barang = textBoxNoBarangDaftar.Text; string nama_barang = textBoxNamaBarang.Text; string satuan_tipe = labelTipeSatuan.Text; string nama_satuan = comboBoxSatuan.Text; string nama_koleksi = koleksi.NamaKoleksi; int GetSatuanID(string satuan) { for (int i = 0; i < satuanList.Count; i++) { if (satuanList[i].SatuanName == satuan) { return(satuanList[i].Id); } } return(-1); } int satuan_id = GetSatuanID(nama_satuan); UInt64 harga_beli = UInt64.Parse(textBoxHargaBeli.Text); UInt64 harga_jual = UInt64.Parse(textBoxHargaJual.Text); if (harga_jual < harga_beli) { CustomMessageBox.Show("Harga jual tidak boleh di bawah harga beli"); return; } //error cek selesai, mulai proses data Connection con = new Connection(); //cek validasi data dan insert if (tambahBarang) { if (con.IsBarangExist(no_barang)) { CustomMessageBox.Show("Barang dengan nomor barang : " + no_barang + " telah ada, nomor barang tidak boleh sama"); return; } if (!con.IsKoleksiExist(nama_koleksi)) { CustomMessageBox.Show("KOLEKSI TIDAK DITEMUKAN. PASTIKAN NAMA KOLEKSI BENAR ATAU BUAT KOLEKSI BARU"); return; } if (con.IsSatuanExisInKoleksi(nama_koleksi, satuan_id)) { CustomMessageBox.Show("Satuan -" + nama_satuan + "- telah ada pada koleksi tersebut, gunakan satuan yang lain"); return; } object[] dataBarang = new object[] { no_barang, nama_barang, satuan_id, harga_beli, harga_jual, nama_koleksi }; con.InsertBarang(dataBarang); for (int i = 0; i < dataGridHargaJualData.Rows.Count; i++) { var dataRes = dataGridHargaJualData.Rows[i].Cells; object[] dataPotongan = new object[] { no_barang, dataRes[0].Value, dataRes[1].Value }; con.InsertBarangPotongan(dataPotongan); } CustomMessageBox.Show("Barang telah di tambah"); } //cek validasi data dan edit else { if (!con.IsBarangExist(no_barang)) { CustomMessageBox.Show("Barang dengan nomor barang : " + no_barang + " tidak ada, ada masalah BESAR, tolong hubungi Elton"); return; } if (!con.IsKoleksiExist(nama_koleksi)) { CustomMessageBox.Show("KOLEKSI TIDAK DITEMUKAN. PASTIKAN NAMA KOLEKSI BENAR ATAU BUAT KOLEKSI BARU"); return; } Barang data = new Barang(no_barang, nama_barang, harga_beli, harga_jual, satuan_id, "", satuan_tipe, nama_koleksi); con.UpdateBarang(data); AturanBarang barangBaru = new AturanBarang(data); List <AturanHargaJual> aturanHargaJual = new List <AturanHargaJual>(); for (int i = 0; i < dataGridHargaJualData.Rows.Count; i++) { aturanHargaJual.Add(new AturanHargaJual((int)dataGridHargaJualData.Rows[i].Cells[0].Value, (ulong)dataGridHargaJualData.Rows[i].Cells[1].Value)); } barangBaru.AturanHarga = aturanHargaJual; con.SimpanJumlahPotongan(barangBaru); CustomMessageBox.Show("Barang telah di edit"); } this.Close(); formIsiKoleksi.UpdateTabel(koleksi.NamaKoleksi); /* } catch(Exception ex) { * CustomMessageBox.Show("Error : " + ex.Message); * }*/ }
private void dataGridTransaksi_CellValueChanged(object sender, DataGridViewCellEventArgs e) { try { if (e.ColumnIndex == SATUAN && e.RowIndex >= 0) { // CustomMessageBox.Show(dataGridTransaksi[4, 0].Value + ""); int index = GetBarangTransaksiIndex(GetNoBarang(e.RowIndex)); if (index >= 0) { Barang oldBarang = barangTransaksiList[e.RowIndex].AturanBarangList[index].barang; Barang newBarang = GetAturanBarangLainDalamKoleksi(oldBarang.nama_koleksi, GetSatuanValue(e.RowIndex)); SetValueToRow(e.RowIndex, newBarang.no_barang, newBarang.nama_barang, newBarang.harga_jual, dataGridTransaksi[3, e.RowIndex].Value, newBarang.satuan_nama, 0); } } //check the jumlah and adjust the price based on potongan harga if (e.ColumnIndex >= 2 && e.RowIndex >= 0) { int jumlah = GetJumlahValue(e.RowIndex); if (jumlah < 1) { SetJumlah(e.RowIndex, 1); } // SetHargaJualTotal(e.RowIndex, GetJumlahValue(e.RowIndex) * GetHargaJualValue(e.RowIndex) - GetPotonganValue(e.RowIndex)); ulong jumlahValue = (ulong)GetJumlahValue(e.RowIndex); ulong hargaJual = GetHargaJualValue(e.RowIndex); ulong hargaPotongan = GetPotonganValue(e.RowIndex); ulong hargaAkhir = jumlahValue * hargaJual - hargaPotongan; AturanBarang ab = GetBarangTransaksiAturanBarang(GetNoBarang(e.RowIndex)); if (ab != null) { for (int i = 0; i < ab.AturanHarga.Count; i++) { int jumlahAturan = ab.AturanHarga[i].jumlah; if (jumlah == jumlahAturan) { hargaAkhir = ab.AturanHarga[i].harga_jual - hargaPotongan; // SetHargaJualTotal(e.RowIndex, ab.AturanHarga[i].harga_jual); break; } if (jumlah < jumlahAturan && i == 0) { // hargaAkhir = GetJumlahValue(e.RowIndex) * GetHargaJualValue(e.RowIndex) - GetPotonganValue(e.RowIndex); break; } if (jumlah > jumlahAturan) { int dif = jumlah - jumlahAturan; hargaAkhir = ab.AturanHarga[i].harga_jual + (ulong)dif * GetHargaJualValue(e.RowIndex) - hargaPotongan; // SetHargaJualTotal(e.RowIndex, ab.AturanHarga[i].harga_jual + dif * GetHargaJualValue(e.RowIndex)); } } } SetHargaJualTotal(e.RowIndex, hargaAkhir); HitungTotal(); // labelTotalHarga.Text = total.ToString("#,##0"); //string.Format("{#,##0}", total); // SetValueToRow(e.RowIndex, newBarang.no_barang, newBarang.nama_barang, newBarang.harga_jual, dataGridTransaksi[3, e.RowIndex].Value, newBarang.satuan_nama, 0); } } catch (Exception ex) { CustomMessageBox.Show("Error : " + ex.Message); } //set new value to row if the combo box satuan is changed }