コード例 #1
0
        private void cmdDELETE_Click(object sender, EventArgs e)
        {
            DateTimeFormatInfo dfi  = DateTimeFormatInfo.CurrentInfo;
            DateTime           date = GlobalVar.GetServerDate;
            Calendar           cal  = dfi.Calendar;
            int mingguKe            = cal.GetWeekOfYear(date, dfi.CalendarWeekRule, dfi.FirstDayOfWeek);

            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)
                    {
                        _rowID = (Guid)dataGridView3.SelectedCells[0].OwningRow.Cells["dRowID"].Value;


                        if (CheckPrint(_rowID) == true)
                        {
                            MessageBox.Show("Sudah dilakukan cetak kwitansi, tidak diperkenankan menghapus data ini !");
                        }
                        else
                        {
                            if (PenerimaanUang.checkDelete(_rowID, "PenerimaanADM") == true)
                            {
                                Tools.pin(PinId.Periode.Hari, mingguKe, date, PinId.Bagian.Piutang, Convert.ToInt32(PinId.ModulId.HapusKwitansiAdministrasi), "Hapus Pelunasan Administrasi.\n Sudah lewat tanggal, tidak diperkenankan menghapus data ini !");
                                if (GlobalVar.pinResult == false)
                                {
                                    return;
                                }
                            }

                            using (Database db = new Database())
                            {
                                db.Commands.Add(db.CreateCommand("usp_PenerimaanADM_DELETE"));
                                db.Commands[0].Parameters.Add(new Parameter("@RowID", SqlDbType.UniqueIdentifier, _rowID));
                                db.Commands[0].ExecuteNonQuery();
                            }

                            using (Database db = new Database())
                            {
                                db.Commands.Add(db.CreateCommand("usp_PenerimaanTitipanIden_DELETE"));
                                db.Commands[0].Parameters.Add(new Parameter("@TipeTitipan", SqlDbType.SmallInt, (int)Class.enumTipeTitipan.Adm));
                                db.Commands[0].Parameters.Add(new Parameter("@RowIDTransaksi", SqlDbType.UniqueIdentifier, _rowID));
                                db.Commands[0].ExecuteNonQuery();
                            }

                            dataGridView3.Rows.Remove(dataGridView3.SelectedCells[0].OwningRow);
                            this.RefreshRowADM(_penjRowID);
                            this.FindRowGrid2("mRowID", _penjRowID.ToString());
                            MessageBox.Show("Data berhasil dihapus");
                        }
                    }
                }
            }
        }
コード例 #2
0
        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());
            }
        }
コード例 #3
0
        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;
            }
        }