Esempio n. 1
0
        //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);
            }
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
            }
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
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);
             *  }*/
        }
Esempio n. 6
0
        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
        }