private void cmdReCalcAngs_Click(object sender, EventArgs e) { if (dataGridView1.SelectedCells.Count > 0 && dataGridView2.SelectedCells.Count > 0) { //cek bulannya, kalau beda bulan jangan dibolehin batal string MonthServer = GlobalVar.GetServerDate.Month.ToString(); string YearServer = GlobalVar.GetServerDate.Year.ToString(); DateTime tanggalAngsBat = Convert.ToDateTime(dataGridView1.SelectedCells[0].OwningRow.Cells["TglJual"].Value.ToString()); string MonthBatal = tanggalAngsBat.Month.ToString(); string YearBatal = tanggalAngsBat.Year.ToString(); if (MonthBatal != MonthServer) { //MessageBox.Show("Sudah beda bulan, Anda tidak diperkenankan Recalculate Angsuran penjualan ini..."); //return; } else if (YearBatal != YearServer) { MessageBox.Show("Sudah ganti tahun, Anda tidak diperkenankan Recalculate Angsuran penjualan ini..."); return; } DateTimeFormatInfo dfi = DateTimeFormatInfo.CurrentInfo; DateTime date = GlobalVar.GetServerDate; Calendar cal = dfi.Calendar; int mingguKe = cal.GetWeekOfYear(date, dfi.CalendarWeekRule, dfi.FirstDayOfWeek); if (PenerimaanUang.checkDelete(_rowID, "PenerimaanUM") == true) { Tools.pin(PinId.Periode.Hari, mingguKe, date, PinId.Bagian.Accounting, Convert.ToInt32(PinId.ModulId.RecalculateAngsuranTLA), "Untuk melakukan perhitungan ulang Angsuran, perlu PIN persetujuan!"); if (GlobalVar.pinResult == false) { return; } } frmReCalculateAngsuran ifrmChild = new frmReCalculateAngsuran(this, _penjRowID, _penjHistRowID); ifrmChild.ShowDialog(); this.RefreshRowUM(_penjRowID); FindRowGrid2("mRowID", _penjRowID.ToString()); } }
private void cmdDELETE_Click(object sender, EventArgs e) { // kalau udah ada angsuran, ngga ada yg boleh dihapus bagian UM using (Database db = new Database()) { DataTable dummy = new DataTable(); db.Commands.Add(db.CreateCommand("usp_PenerimaanAngsuran_CHECK_isPaid")); db.Commands[0].Parameters.Add(new Parameter("@PenjRowID", SqlDbType.UniqueIdentifier, _penjRowID)); dummy = db.Commands[0].ExecuteDataTable(); if (dummy.Rows.Count > 0) { MessageBox.Show("Sudah ada pembayaran angsuran tidak diperbolehkan menghapus data!"); return; } } DateTimeFormatInfo dfi = DateTimeFormatInfo.CurrentInfo; DateTime date = GlobalVar.GetServerDate; Calendar cal = dfi.Calendar; int mingguKe = cal.GetWeekOfYear(date, dfi.CalendarWeekRule, dfi.FirstDayOfWeek); try { if (selectedGrid == enumSelectedGrid.GridPelunasan) { if (dataGridView3.SelectedCells.Count > 0) { if (MessageBox.Show(Messages.Question.AskDelete, "Anda yakin akan menghapus data ini ?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { bool isOKTarikan = true; _rowID = (Guid)dataGridView3.SelectedCells[0].OwningRow.Cells["dRowID"].Value; String _kodeTrans = ""; Decimal _nominal = 0; _kodeTrans = dataGridView3.SelectedCells[0].OwningRow.Cells["KodeTrans"].Value.ToString(); if (_kodeTrans == "UMT") // kalo uang muka tambahan ambil nominalnya untuk ngeupdate { _nominal = Convert.ToDecimal(dataGridView3.SelectedCells[0].OwningRow.Cells["Nominal"].Value.ToString()); } if (_kodeTrans == "TRK") // kalo kode trans nya itu tarikan, cek apakah data tarikannya udah dilakukan penjualan { DataTable dummy = new DataTable(); using (Database dbsub = new Database(GlobalVar.DBShowroom)) { dbsub.Commands.Add(dbsub.CreateCommand("usp_Pembelian_GET_Tarikan")); dbsub.Commands[0].Parameters.Add(new Parameter("@PenjualanRowID", SqlDbType.UniqueIdentifier, _penjRowID)); dummy = dbsub.Commands[0].ExecuteDataTable(); } if (dummy.Rows.Count > 0) { if (String.IsNullOrEmpty(dummy.Rows[0]["Result"].ToString())) { // kalo data TglJual (Result) yg dikembalikan itu kosong/NULL, berarti boleh dihapus } else { // kalo ngga kosong, berarti itu berisi tanggal, ngga boleh dihapus isOKTarikan = false; } } } if (CheckPrint(_rowID) == true) { MessageBox.Show("Sudah dilakukan cetak kwitansi, tidak diperkenankan menghapus data ini !"); } else if (isOKTarikan == false) { MessageBox.Show("Data tarikan sudah digunakan untuk penjualan, tidak dapat dihapus !"); } else { if (PenerimaanUang.checkDelete(_rowID, "PenerimaanUM") == true) { Tools.pin(PinId.Periode.Hari, mingguKe, date, PinId.Bagian.Accounting, Convert.ToInt32(PinId.ModulId.HapusKwitansiUangMuka), "Hapus Pelunasan Uang Muka.\nSudah lewat tanggal, tidak diperkenankan menghapus data ini !"); if (GlobalVar.pinResult == false) { return; } } Database db = new Database(); int looper = 0, counterdb = 0; try { // kalo udah masuk sampe sini berarti emang udah boleh melakukan delete if (_kodeTrans == "TRK") { // lakukan revert data tarikan db.Commands.Add(db.CreateCommand("usp_RevertTarikan_Penjualan")); db.Commands[counterdb].Parameters.Add(new Parameter("@PenjualanRowID", SqlDbType.UniqueIdentifier, _penjRowID)); counterdb++; } if (_kodeTrans == "UMT") // kalo uang muka tambahan ambil nominalnya untuk ngeupdate { db.Commands.Add(db.CreateCommand("usp_Penjualan_Hist_UPDATE_TambahUM_DELETED")); db.Commands[counterdb].Parameters.Add(new Parameter("@RowID", SqlDbType.UniqueIdentifier, _penjHistRowID)); db.Commands[counterdb].Parameters.Add(new Parameter("@PenjRowID", SqlDbType.UniqueIdentifier, _penjRowID)); db.Commands[counterdb].Parameters.Add(new Parameter("@TambahanUM", SqlDbType.Money, _nominal)); counterdb++; } db.Commands.Add(db.CreateCommand("usp_PenerimaanUM_DELETE")); db.Commands[counterdb].Parameters.Add(new Parameter("@RowID", SqlDbType.UniqueIdentifier, _rowID)); db.Commands[counterdb].Parameters.Add(new Parameter("@LastUpdatedBy", SqlDbType.VarChar, SecurityManager.UserID)); counterdb++; db.Commands.Add(db.CreateCommand("usp_PenerimaanTitipanIden_DELETE")); db.Commands[counterdb].Parameters.Add(new Parameter("@TipeTitipan", SqlDbType.SmallInt, (int)Class.enumTipeTitipan.UM)); db.Commands[counterdb].Parameters.Add(new Parameter("@RowIDTransaksi", SqlDbType.UniqueIdentifier, _rowID)); counterdb++; db.BeginTransaction(); for (looper = 0; looper < counterdb; looper++) { db.Commands[looper].ExecuteNonQuery(); } db.CommitTransaction(); dataGridView3.Rows.Remove(dataGridView3.SelectedCells[0].OwningRow); this.RefreshRowUM(_penjRowID); FindRowGrid2("mRowID", _penjRowID.ToString()); MessageBox.Show("Data berhasil dihapus"); frmReCalculateAngsuran ifrmChild = new frmReCalculateAngsuran(this, _penjRowID, _penjHistRowID); ifrmChild.ShowDialog(); } catch (Exception ex) { db.RollbackTransaction(); MessageBox.Show("Error terjadi, DELETE dibatalkan \n" + ex.Message); } } } } } } catch (Exception ex) { Error.LogError(ex); } finally { this.Cursor = Cursors.Default; } }