Beispiel #1
0
        private void Simpan(Class.enumStatusGiro _GiroStatusNew, string _ketStatus, bool lRekening)
        {
            bool lOk = true;

            DateTime dTgl = GlobalVar.GetServerDate;

            //Guid _rekeningRowID = Guid.Empty;
            switch (_GiroStatusNew)
            {
            case Class.enumStatusGiro.Disetor:
                lOk = ((_GiroStatusLast == Class.enumStatusGiro.Diterima) || (_GiroStatusLast == Class.enumStatusGiro.BatalSetor));
                break;

            case Class.enumStatusGiro.BatalSetor:
                lOk = (_GiroStatusLast == Class.enumStatusGiro.Disetor);
                break;

            case Class.enumStatusGiro.Cair:
                if (_GiroStatusLast != Class.enumStatusGiro.Cair)
                {
                    lOk = true;
                }
                else
                {
                    lOk = ((_GiroStatusLast == Class.enumStatusGiro.Disetor) || (_GiroStatusLast == Class.enumStatusGiro.Cair));
                }

                break;

            case Class.enumStatusGiro.BatalCair:
                lOk = (_GiroStatusLast == Class.enumStatusGiro.Cair);
                break;

            case Class.enumStatusGiro.Ditolak:
                break;

            case Class.enumStatusGiro.Batal:
                break;

            default: lOk = false; break;
            }
            if (lOk)
            {
                dlgProsesGiroStatus dlg = new dlgProsesGiroStatus(_ketStatus, lRekening, MataUangID, _rekeningRowID, _TglJTGiro);
                dlg.ShowDialog();
                lOk = (dlg.DialogResult == DialogResult.Yes);

                if (lOk)
                {
                    dTgl = (DateTime)dlg.dtTanggal.DateValue;

                    if (((DateTime)Tools.isNull(dTgl, DateTime.MinValue) == DateTime.MinValue) || (dTgl < _GiroStatusTanggal))
                    {
                        lOk = false;
                    }

                    if (_ketStatus == "Batal Cair" || _ketStatus == "BatalSetor" || _ketStatus == "Cair" || _ketStatus == "Ditolak")
                    {
                        DataTable dt = new DataTable();
                        using (Database db = new Database())
                        {
                            db.Commands.Add(db.CreateCommand("usp_GetLastRekeningRowIDGiroHistory"));
                            db.Commands[0].Parameters.Add(new Parameter("@NoGiro", SqlDbType.VarChar, lblNoGiro.Text));
                            dt = db.Commands[0].ExecuteDataTable();

                            if (lRekening)
                            {
                                _rekeningRowID = (Guid)dt.Rows[0]["RekeningRowID"];
                            }
                        }
                    }
                    else
                    {
                        if (lRekening)
                        {
                            _rekeningRowID = (Guid)dlg.lookUpRekening1.RekeningRowID;
                        }
                    }
                }
            }

            if (lOk == true)
            {
                try
                {
                    using (Database db = new Database())
                    {
                        db.Commands.Add(db.CreateCommand("usp_GiroHistory_INSERT"));
                        db.Commands[0].Parameters.Add(new Parameter("@RefID", SqlDbType.UniqueIdentifier, _rowID));

                        // sebelum akhirnya ubah sp
                        //db.Commands[0].Parameters.Add(new Parameter("@RowID", SqlDbType.UniqueIdentifier, Guid.NewGuid()));

                        if (_GiroStatusNew == Class.enumStatusGiro.Cair)
                        {
                            String   tempBentukPenerimaan = "B";
                            Database dbfNumerator         = new Database(GlobalVar.DBFinanceOto);
                            String   NoTransPenerimaan    = Numerator.GetNomorDokumen(dbfNumerator, "PENERIMAAN_UANG", GlobalVar.PerusahaanID,
                                                                                      "/B" + tempBentukPenerimaan.Trim() + "M/" +
                                                                                      string.Format("{0:yyMM}", GlobalVar.GetServerDate)
                                                                                      , 4, false, true);

                            // buatin parameter, kirimin numeratornya
                            db.Commands[0].Parameters.Add(new Parameter("@NoBukti", SqlDbType.VarChar, NoTransPenerimaan));
                        }
                        db.Commands[0].Parameters.Add(new Parameter("@JnsGiro", SqlDbType.TinyInt, 1));
                        db.Commands[0].Parameters.Add(new Parameter("@NoGiro", SqlDbType.VarChar, lblNoGiro.Text));
                        db.Commands[0].Parameters.Add(new Parameter("@Tanggal", SqlDbType.Date, dTgl));
                        db.Commands[0].Parameters.Add(new Parameter("@StatusGiro", SqlDbType.TinyInt, _GiroStatusNew));
                        if (lRekening)
                        {
                            db.Commands[0].Parameters.Add(new Parameter("@RekeningRowID", SqlDbType.UniqueIdentifier, _rekeningRowID));
                        }
                        db.Commands[0].Parameters.Add(new Parameter("@lastUpdatedBy", SqlDbType.VarChar, SecurityManager.UserID));
                        db.Commands[0].ExecuteNonQuery();

                        RefreshData();
                    }
                }
                catch (Exception ex)
                {
                    Error.LogError(ex);
                }
            }
        }
Beispiel #2
0
        private void RefreshData()
        {
            try
            {
                this.Cursor = Cursors.WaitCursor;
                //retrieving data
                DataTable dt = new DataTable();
                using (Database db = new Database())
                {
                    db.Commands.Add(db.CreateCommand("usp_PenerimaanUang_LIST"));
                    db.Commands[0].Parameters.Add(new Parameter("@RowID", SqlDbType.UniqueIdentifier, _rowID));
                    dt = db.Commands[0].ExecuteDataTable();
                }

                //display data
                if ((dt != null) && (dt.Rows.Count > 0))
                {
                    lblBank.Text    = Tools.isNull(dt.Rows[0]["NamaBank"], "").ToString();
                    lblNoGiro.Text  = Tools.isNull(dt.Rows[0]["NoCekGiro"], "").ToString();
                    _rekeningRowID  = (Guid)Tools.isNull(dt.Rows[0]["RekeningRowID"], Guid.Empty);
                    MataUangID      = Tools.isNull(dt.Rows[0]["MataUangID"], "").ToString();
                    lblNominal.Text = MataUangID + " " +
                                      string.Format("{0:0,0.0}", Tools.isNull(dt.Rows[0]["Nominal"], 0));
                    lblJatuhTempo.Text = string.Format("{0:dd-MMM-yyyy}", dt.Rows[0]["TanggalGiroCair"]);
                }

                using (Database db = new Database())
                {
                    dt.Clear();
                    db.Commands.Add(db.CreateCommand("usp_GiroHistory_LIST_FILTER_RefID"));
                    db.Commands[0].Parameters.Add(new Parameter("@RefID", SqlDbType.UniqueIdentifier, _rowID));
                    dt = db.Commands[0].ExecuteDataTable();

                    if (dt.Rows.Count > 0)
                    {
                        dataGridView1.DataSource = dt;
                        int no = 0;
                        foreach (DataRow dr in dt.Rows)
                        {
                            int tno = int.Parse(Tools.isNull(dr["RecID"], "0").ToString());
                            if (no < tno)
                            {
                                _GiroStatusTanggal = (DateTime)dr["Tanggal"];
                                _GiroStatusLast    = (Class.enumStatusGiro) int.Parse(dr["StatusGiro"].ToString());
                                no = tno;
                            }
                        }
                    }
                    lblTglStatus.Text = _GiroStatusTanggal.ToString();
                    label8.Text       = _GiroStatusLast.ToString();
                }
            }
            catch (Exception ex)
            {
                Error.LogError(ex);
            }
            finally
            {
                this.Cursor = Cursors.Default;
            }
            btnSetor.Enabled      = ((_GiroStatusLast == Class.enumStatusGiro.Diterima) || (_GiroStatusLast == Class.enumStatusGiro.BatalSetor));
            btnBatalSetor.Visible = (_GiroStatusLast == Class.enumStatusGiro.Disetor);
            btnCair.Enabled       = ((_GiroStatusLast == Class.enumStatusGiro.Disetor) || (_GiroStatusLast == Class.enumStatusGiro.BatalCair));
            btnBatalCair.Visible  = (_GiroStatusLast == Class.enumStatusGiro.Cair);
            btnTolak.Enabled      = ((_GiroStatusLast == Class.enumStatusGiro.Disetor) || (_GiroStatusLast == Class.enumStatusGiro.Cair));
            btnBatal.Enabled      = (_GiroStatusLast <= Class.enumStatusGiro.Diterima);
        }