Beispiel #1
0
        private void LastColumnComboSelectionChanged(object sender, EventArgs e)
        {
            int row = dataGridViewTransaksiPembelian.Rows.Count;

            var rowIndex  = dataGridViewTransaksiPembelian.CurrentCell.RowIndex;
            var sendingCB = sender as DataGridViewComboBoxEditingControl;
            DataGridViewTextBoxCell cel = (DataGridViewTextBoxCell)dataGridViewTransaksiPembelian.Rows[rowIndex].Cells[4];
            var ukuran = sendingCB.EditingControlFormattedValue.ToString();

            if (string.IsNullOrEmpty(ukuran))
            {
                return;
            }

            var kodeBarang = dataGridViewTransaksiPembelian.Rows[rowIndex].Cells[0].Value.ToString();

            if (string.IsNullOrEmpty(kodeBarang))
            {
                return;
            }
            var barang = service.FindByKodeBarang(kodeBarang);

            decimal harga = shuService.FindHargaByBrangIdAndUkuran(barang.Id, ukuran);

            cel.Value = harga.ToString("N2", CultureInfo.GetCultureInfo("de"));;

            decimal hargaIndecimal = decimal.Parse(cel.Value.ToString(), NumberStyles.Number, CultureInfo.GetCultureInfo("de"));
            float   diskon         = float.Parse(dataGridViewTransaksiPembelian.Rows[rowIndex].Cells[5].Value.ToString(), NumberStyles.Number, CultureInfo.GetCultureInfo("de"));

            dataGridViewTransaksiPembelian.Rows[rowIndex].Cells[6].Value = (hargaIndecimal - (hargaIndecimal * (decimal)(diskon / 100))).ToString("N2", CultureInfo.GetCultureInfo("de"));



            #region "Hitung Total dan Munculin di label dan terbilang"
            decimal total = 0;

            for (int i = 0; i < row - 1; i++)
            {
                total += decimal.Parse(dataGridViewTransaksiPembelian.Rows[i].Cells[6].Value.ToString(), NumberStyles.Number, CultureInfo.GetCultureInfo("de"));
            }

            labelTotal.Text     = total.ToString("N2", CultureInfo.GetCultureInfo("de"));
            labelTerbilang.Text = Terbilang.Bilang(total) + " Rupiah";
            #endregion
        }
        private void LastColumnComboSelectionChanged(object sender, EventArgs e)
        {
            int row = dataGridViewTransaksiPenjualan.Rows.Count;

            var rowIndex  = dataGridViewTransaksiPenjualan.CurrentCell.RowIndex;
            var sendingCB = sender as DataGridViewComboBoxEditingControl;
            DataGridViewTextBoxCell cel = (DataGridViewTextBoxCell)dataGridViewTransaksiPenjualan.Rows[rowIndex].Cells[4];
            var ukuran = sendingCB.EditingControlFormattedValue.ToString();

            if (string.IsNullOrEmpty(ukuran))
            {
                return;
            }

            var kodeBarang = dataGridViewTransaksiPenjualan.Rows[rowIndex].Cells[0].Value.ToString();

            if (string.IsNullOrEmpty(kodeBarang))
            {
                return;
            }
            var barang = service.FindByKodeBarang(kodeBarang);

            var shu = shuService.FindByBarangIdAndUkuran(barang.Id, ukuran);

            if (shu == null)
            {
                return;
            }
            if (shu.Stock < 1)
            {
                MessageBox.Show("Stok barang tidak memadahi", "Pesan", MessageBoxButtons.OK, MessageBoxIcon.Information);
                dataGridViewTransaksiPenjualan.Rows.RemoveAt(row - 1);
                dataGridViewTransaksiPenjualan.Rows.RemoveAt(row - 2);
                dataGridViewTransaksiPenjualan.Rows.Add("");
                return;
            }


            decimal harga = shuService.FindHargaByBrangIdAndUkuran(barang.Id, ukuran);

            cel.Value = harga.ToString("N2", CultureInfo.GetCultureInfo("de"));;

            decimal hargaIndecimal = decimal.Parse(cel.Value.ToString(), NumberStyles.Number, CultureInfo.GetCultureInfo("de"));
            float   diskon         = float.Parse(dataGridViewTransaksiPenjualan.Rows[rowIndex].Cells[5].Value.ToString(), NumberStyles.Number, CultureInfo.GetCultureInfo("de"));

            dataGridViewTransaksiPenjualan.Rows[rowIndex].Cells[6].Value = (hargaIndecimal - (hargaIndecimal * (decimal)(diskon / 100))).ToString("N2", CultureInfo.GetCultureInfo("de"));



            #region "Cek Kalau ada Kode dan Ukuran yang sama"
            //string id = dataGridViewTransaksiPenjualan[0, rowIndex].Value.ToString();
            //if (row != 1)
            //{
            //    for (int i = 0; i < row - 1; i++)
            //    {
            //        if (id == dataGridViewTransaksiPenjualan.Rows[i].Cells[0].Value.ToString()
            //            && ukuran.Equals((dataGridViewTransaksiPenjualan.Rows[i].Cells[2] as DataGridViewComboBoxCell).FormattedValue.ToString()))
            //        {
            //            if(id==dataGridViewTransaksiPenjualan[0, rowIndex].Value.ToString())
            //            {
            //                return;
            //            }

            //            int n = int.Parse(dataGridViewTransaksiPenjualan.Rows[i].Cells[3].Value.ToString());
            //            StokHargaUkuran stokHargaUkuran = shuService.FindByBarangIdAndUkuran(barang.Id, dataGridViewTransaksiPenjualan.Rows[i].Cells[2].Value.ToString());

            //            if ((n + 1) > stokHargaUkuran.Stock)
            //            {
            //                MessageBox.Show("Stok barang tidak memadahi", "Pesan", MessageBoxButtons.OK, MessageBoxIcon.Information);
            //                dataGridViewTransaksiPenjualan.Rows.RemoveAt(row - 1);
            //                dataGridViewTransaksiPenjualan.Rows.RemoveAt(row - 2);
            //                dataGridViewTransaksiPenjualan.Rows.Add("");
            //                return;
            //            }

            //            //dataGridViewTransaksiPenjualan.Rows[i].Cells[3].Value = n + 1;
            //            //dataGridViewTransaksiPenjualan.Rows[i].Cells[6].Value = ((decimal.Parse(dataGridViewTransaksiPenjualan.Rows[i].Cells[6].Value.ToString(), NumberStyles.Number, CultureInfo.GetCultureInfo("de"))) + stokHargaUkuran.HargaJual - (stokHargaUkuran.HargaJual * (decimal)(diskon / 100)))
            //            //                                                        .ToString("N2", CultureInfo.GetCultureInfo("de"));

            //            //dataGridViewTransaksiPenjualan.Rows.RemoveAt(row - 1);
            //            //dataGridViewTransaksiPenjualan.Rows.RemoveAt(row - 2);
            //            //dataGridViewTransaksiPenjualan.Rows.Add("");
            //            break;
            //        }
            //    }
            //}
            #endregion

            #region "Hitung Total dan Munculin di label dan terbilang"
            decimal total = 0;

            for (int i = 0; i < row - 1; i++)
            {
                total += decimal.Parse(dataGridViewTransaksiPenjualan.Rows[i].Cells[6].Value.ToString(), NumberStyles.Number, CultureInfo.GetCultureInfo("de"));
            }

            labelTotal.Text     = total.ToString("N2", CultureInfo.GetCultureInfo("de"));
            labelTerbilang.Text = Terbilang.Bilang(total) + " Rupiah";
            #endregion
        }