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 }