Exemple #1
0
        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);
             *  }*/
        }
Exemple #2
0
 public AturanBarang(Barang b)
 {
     barang = b;
 }
Exemple #3
0
 public AturanBarang(Barang b, List <AturanHargaJual> aturanHarga)
 {
     barang      = b;
     AturanHarga = aturanHarga;
 }
        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
        }