Esempio n. 1
0
        private void SetSPReceiveDetails(Receive oReceive)
        {
            gvReceiveDetail.DataSource = null;
            gvReceiveDetail.DataBind();

            DataTable oDataTable = new DataTable("dtData");

            oDataTable.Columns.Add(new DataColumn("bfDenom", typeof(string)));
            oDataTable.Columns.Add(new DataColumn("bfSeries", typeof(string)));
            oDataTable.Columns.Add(new DataColumn("bfFrom", typeof(string)));
            oDataTable.Columns.Add(new DataColumn("bfTo", typeof(string)));
            oDataTable.Columns.Add(new DataColumn("bfQuantity", typeof(string)));
            oDataTable.Columns.Add(new DataColumn("bfDnmAmount", typeof(string)));
            oDataTable.Columns.Add(new DataColumn("bfCabinetNumber", typeof(string)));
            oDataTable.Columns.Add(new DataColumn("bfDrawerNumber", typeof(string)));

            DataRow        row             = null;
            ReceiveDetails oReceiveDetails = null;

            if (oReceive.ReceiveDetailsList != null)
            {
                if (oReceive.ReceiveDetailsList.Count > 0)
                {
                    for (int i = 0; i < oReceive.ReceiveDetailsList.Count; i++)
                    {
                        oReceiveDetails = (ReceiveDetails)oReceive.ReceiveDetailsList[i];

                        row               = oDataTable.NewRow();
                        row["bfDenom"]    = oReceiveDetails.Denomination.DenominationID.ToString();
                        row["bfSeries"]   = oReceiveDetails.SPSeries.ToString();
                        row["bfFrom"]     = oReceiveDetails.SeriesFrom.ToString();
                        row["bfTo"]       = oReceiveDetails.SeriesTo.ToString();
                        row["bfQuantity"] = oReceiveDetails.ReceiveQuantity.ToString();
                        int iTmp = oReceiveDetails.ReceiveQuantity * oReceiveDetails.Denomination.DenominationID;
                        row["bfDnmAmount"]     = iTmp.ToString();
                        row["bfCabinetNumber"] = oReceiveDetails.CabinetNumber.ToString().ToUpper();
                        row["bfDrawerNumber"]  = oReceiveDetails.DrawerNumber.ToString().ToUpper();

                        oDataTable.Rows.Add(row);
                    }
                    gvReceiveDetail.DataSource = oDataTable;
                    gvReceiveDetail.DataBind();
                }
                else
                {
                    ucMessage.OpenMessage(Constants.MSG_ERROR_NOT_FOUND, Constants.MSG_TYPE_ERROR);
                }
            }
            else
            {
                ucMessage.OpenMessage(Constants.MSG_ERROR_NOT_FOUND, Constants.MSG_TYPE_ERROR);
            }
        }
Esempio n. 2
0
        protected void btnApprove_Click(object sender, EventArgs e)
        {
            Receive oReceive = new Receive(hdReceiveTransNo.Value);

            oReceive.SPType.SPTypeID = ddlSPType.SelectedItem.Value;

            if (gvReceiveDetail.Rows.Count > 0)
            {
                ReceiveDetails oRd = null;
                foreach (GridViewRow row in gvReceiveDetail.Rows)
                {
                    oRd = new ReceiveDetails();

                    oRd.Denomination.DenominationID = Util.GetIntNumber(row.Cells[0].Text);
                    oRd.SPSeries        = row.Cells[1].Text;
                    oRd.SeriesFrom      = row.Cells[2].Text;
                    oRd.SeriesTo        = row.Cells[3].Text;
                    oRd.ReceiveQuantity = Util.GetIntNumber(row.Cells[4].Text);

                    oReceive.ReceiveDetailsList.Add(oRd);
                }
            }

            ReceiveDAL oReceiveDAL = new ReceiveDAL();

            oReceive.UserDetails   = ucUserDet.UserDetail;
            oReceive.ReceiveAmount = Convert.ToDecimal(txtReceiveAmount.Text);

            Result oResult = (Result)oReceiveDAL.Approve(oReceive);

            if (oResult.Status)
            {
                ucMessage.OpenMessage(Constants.MSG_SUCCESS_APPROVE, Constants.MSG_TYPE_SUCCESS);
            }
            else
            {
                ucMessage.OpenMessage(Constants.MSG_ERROR_APPROVE, Constants.MSG_TYPE_ERROR);
            }
        }
        public ActionResult SaveUpdateSaleRet(SaleRetMain SaleRet, List <SaleRetDetail> SaleRetDetail, string IsSave)
        {
            using (var transaction = new TransactionScope())
            {
                try
                {
                    RBACUser rUser = new RBACUser(Session["UserName"].ToString());

                    #region for Sales Return transection
                    string trnType = "Save";
                    string Msg     = "1";

                    //Firstly deleted the saved For Update
                    if (IsSave == "1")
                    {
                        if (!rUser.HasPermission("SalesReturn_Update"))
                        {
                            return(Json("U", JsonRequestBehavior.AllowGet));
                        }
                        trnType = "Update";
                        Msg     = "2";

                        #region For AVP OR LOT

                        if (Session["MaintLot"].ToString() == "True")
                        {
                            var sRetMain   = _saleRetMainService.All().Where(s => s.SaleRetNo == SaleRet.SaleRetNo).FirstOrDefault();
                            var sRetDetail = _saleRetDetailService.All().Where(s => s.SaleRetId == sRetMain.SaleRetId).ToList();
                            foreach (var currentItem in sRetDetail)
                            {
                                var currentStocks = _currentStockService.All().ToList().FirstOrDefault(m => m.ItemCode == currentItem.ItemCode &&
                                                                                                       m.LocCode == SaleRet.LocNo &&
                                                                                                       m.LotNo == currentItem.LotNo);
                                if (currentStocks != null)
                                {
                                    currentStocks.CurrQty   = currentStocks.CurrQty - currentItem.ReturnQty;
                                    currentStocks.UnitPrice = Convert.ToDouble(currentItem.UnitPrice);
                                    _currentStockService.Update(currentStocks);
                                }
                            }
                        }
                        else
                        {
                            // For Costledger Code
                        }
                        #endregion

                        var saleRetDel = _saleRetMainService.All().ToList().Where(y => y.SaleRetNo == SaleRet.SaleRetNo).FirstOrDefault();
                        _saleRetDetailService.All().ToList().Where(y => y.SaleRetId == saleRetDel.SaleRetId).ToList().ForEach(x => _saleRetDetailService.Delete(x));
                        _saleRetDetailService.Save();
                        _saleRetMainService.Delete(saleRetDel);
                        _saleRetMainService.Save();

                        var rcvDel = _receiveMainService.All().ToList().Where(y => y.ChallanNo == SaleRet.ChallanNo && y.RefNo == SaleRet.SaleRetNo && y.VchrNo == SaleRet.VchrNo).FirstOrDefault();
                        _receiveDetailService.All().ToList().Where(y => y.RcvNo == rcvDel.RcvNo).ToList().ForEach(x => _receiveDetailService.Delete(x));
                        _receiveDetailService.Save();
                        _receiveMainService.Delete(rcvDel);
                        _receiveMainService.Save();
                    }

                    if (!rUser.HasPermission("SalesReturn_Insert"))
                    {
                        return(Json("X", JsonRequestBehavior.AllowGet));
                    }

                    var IfExist = _saleRetMainService.All().Where(x => x.SaleRetNo == SaleRet.SaleRetNo).FirstOrDefault();
                    if (IfExist == null)
                    {
                        SaleRet.FinYear       = Session["FinYear"].ToString();
                        SaleRet.BranchCode    = Session["BranchCode"].ToString();
                        SaleRet.ProjCode      = Session["ProjCode"].ToString();
                        SaleRet.EntryDateTime = DateTime.Now;
                        _saleRetMainService.Add(SaleRet);
                        _saleRetMainService.Save();

                        if (SaleRetDetail != null)
                        {
                            foreach (var sRetDExtItem in SaleRetDetail)
                            {
                                SaleRetDetail sRetDetail = new SaleRetDetail();
                                var           srID       = _saleRetMainService.All().Select(s => s.SaleRetId).LastOrDefault();
                                if (srID == null)
                                {
                                    sRetDExtItem.SaleRetId = 1;
                                }
                                else
                                {
                                    sRetDExtItem.SaleRetId = srID;
                                }
                                sRetDetail = sRetDExtItem;
                                _saleRetDetailService.Add(sRetDetail);
                            }
                        }
                        _saleRetDetailService.Save();

                        #region for Receive transection

                        //var ExistRcv = _receiveMainService.All().Where(x => x.RcvNo == SaleRet.SaleRetNo).FirstOrDefault();
                        var rcvNo = _receiveMainService.All().Select(s => Convert.ToInt32(s.RcvNo)).LastOrDefault() + 1;
                        //if (ExistRcv == null)
                        //{
                        var         todayDate = DateTime.Now;
                        ReceiveMain recvMain  = new ReceiveMain();
                        recvMain.RcvNo           = "0" + rcvNo.ToString();
                        recvMain.BranchCode      = Session["BranchCode"].ToString();
                        recvMain.RcvDate         = SaleRet.SaleRetDate.AddHours(todayDate.Hour).AddMinutes(todayDate.Minute).AddSeconds(todayDate.Second).AddMilliseconds(todayDate.Millisecond);
                        recvMain.Source          = SaleRet.CustCode;
                        recvMain.ChallanNo       = SaleRet.ChallanNo;
                        recvMain.RefNo           = SaleRet.SaleRetNo;
                        recvMain.RefDate         = (DateTime)SaleRet.SaleRetDate;
                        recvMain.Remarks         = SaleRet.Remarks;
                        recvMain.AppByCode       = SaleRet.ApprBy;
                        recvMain.RcvdTime        = DateTime.Now;
                        recvMain.StoreLocCode    = SaleRet.LocNo;
                        recvMain.RecvFromSubCode = SaleRet.CustCode;
                        recvMain.VchrNo          = SaleRet.VchrNo;
                        recvMain.FinYear         = Session["FinYear"].ToString();
                        recvMain.GLPost          = false;
                        recvMain.RcvdDate        = SaleRet.SaleRetDate.AddHours(todayDate.Hour).AddMinutes(todayDate.Minute).AddSeconds(todayDate.Second).AddMilliseconds(todayDate.Millisecond);
                        recvMain.expenseStatus   = false;
                        recvMain.CreditPur       = false;

                        double amount = 0.0;

                        List <ReceiveDetails> receveDetailsList = new List <ReceiveDetails>();
                        foreach (var recvDetailsItem in SaleRetDetail)
                        {
                            ReceiveDetails receivDetails = new ReceiveDetails();
                            receivDetails.RcvNo       = "0" + rcvNo.ToString();
                            receivDetails.ItemCode    = recvDetailsItem.ItemCode;
                            receivDetails.SubCode     = SaleRet.CustCode;
                            receivDetails.Description = recvDetailsItem.Description;
                            receivDetails.Qty         = recvDetailsItem.ReturnQty;
                            receivDetails.Price       = Convert.ToDouble(recvDetailsItem.UnitPrice);
                            receivDetails.ExQty       = recvDetailsItem.ReturnQty;
                            receivDetails.LotNo       = recvDetailsItem.LotNo;

                            amount = amount + Convert.ToDouble((recvDetailsItem.ReturnQty * recvDetailsItem.UnitPrice));
                            receveDetailsList.Add(receivDetails);
                        }

                        recvMain.Amount = amount;

                        #region For AVP OR LOT

                        if (Session["MaintLot"].ToString() == "True")
                        {
                            foreach (var currentItem in SaleRetDetail)
                            {
                                var currentStocks = _currentStockService.All().ToList().FirstOrDefault(m => m.ItemCode == currentItem.ItemCode &&
                                                                                                       m.LocCode == recvMain.StoreLocCode &&
                                                                                                       m.LotNo == currentItem.LotNo);
                                if (currentStocks != null)
                                {
                                    currentStocks.CurrQty   = currentItem.ReturnQty + currentStocks.CurrQty;
                                    currentStocks.UnitPrice = Convert.ToDouble(currentItem.UnitPrice);
                                    _currentStockService.Update(currentStocks);
                                }
                                else
                                {
                                    CurrentStock currStock = new CurrentStock();
                                    currStock.LocCode   = SaleRet.LocNo;
                                    currStock.LotNo     = currentItem.LotNo;
                                    currStock.ItemCode  = currentItem.ItemCode;
                                    currStock.CurrQty   = currentItem.ReturnQty;
                                    currStock.UnitPrice = Convert.ToDouble(currentItem.UnitPrice);
                                    _currentStockService.Add(currStock);
                                }

                                var lotNO = _lotDtService.All().ToList().Where(m => m.LotNo == currentItem.LotNo).FirstOrDefault();
                                if (lotNO == null)
                                {
                                    LotDT lotDt = new LotDT();
                                    lotDt.LotNo     = currentItem.LotNo;
                                    lotDt.LotDate   = SaleRet.SaleRetDate.AddHours(todayDate.Hour).AddMinutes(todayDate.Minute).AddSeconds(todayDate.Second).AddMilliseconds(todayDate.Millisecond);
                                    lotDt.RefNo     = SaleRet.SaleRetNo;
                                    lotDt.RefSource = "Sales Return Receive";
                                    _lotDtService.Add(lotDt);
                                }
                            }
                        }
                        else
                        {
                            #region AVP
                            foreach (var cItem in SaleRetDetail)
                            {
                                CostLedger cLedger = new CostLedger();
                                cLedger.RecQty   = cItem.ReturnQty;
                                cLedger.RecRate  = Convert.ToDouble(cItem.UnitPrice);
                                cLedger.RecTotal = System.Math.Round(cLedger.RecQty * cLedger.RecRate, 2);

                                double CurrQty = 0, BalTotal = 0;
                                var    existCurrStoc = CostLedgerAppService.All().Where(x => x.ItemCode == cItem.ItemCode && x.LocNo == recvMain.StoreLocCode.Trim()).ToList();
                                if (existCurrStoc.Count != 0)
                                {
                                    var date           = existCurrStoc.Max(x => x.TrDate);
                                    var existCurrStock = CostLedgerAppService.All().OrderByDescending(s => s.RecId).Where(x => x.ItemCode == cItem.ItemCode && x.LocNo == recvMain.StoreLocCode.Trim() && x.TrDate == date).ToList();
                                    foreach (var item in existCurrStock)
                                    {
                                        CurrQty  = item.BalQty;
                                        BalTotal = item.BalTotal;
                                    }
                                }
                                cLedger.IssQty   = 0;
                                cLedger.IssRate  = 0;
                                cLedger.IssTotal = 0;
                                cLedger.BalQty   = CurrQty + cLedger.RecQty;

                                if (cLedger.BalQty != 0)
                                {
                                    cLedger.BalRate = (BalTotal + cLedger.RecTotal) / cLedger.BalQty;
                                }
                                else
                                {
                                    cLedger.BalRate = 0;
                                }
                                cLedger.BalRate = System.Math.Round(cLedger.BalRate, 2);

                                cLedger.BalTotal = System.Math.Round(cLedger.BalQty * cLedger.BalRate, 2);

                                cLedger.LocNo    = recvMain.StoreLocCode;
                                cLedger.ItemCode = cItem.ItemCode;
                                cLedger.TrDate   = (DateTime)SaleRet.SaleRetDate.AddHours(todayDate.Hour).AddMinutes(todayDate.Minute).AddSeconds(todayDate.Second).AddMilliseconds(todayDate.Millisecond);

                                cLedger.UpdSrcNo = SaleRet.SaleRetNo;
                                cLedger.UpdSrc   = "SR";
                                CostLedgerAppService.Add(cLedger);
                            }
                            CostLedgerAppService.Save();

                            #endregion
                        }
                        #endregion

                        recvMain.RcvDetails = receveDetailsList;
                        _receiveMainService.Add(recvMain);
                        _currentStockService.Save();
                        _receiveMainService.Save();
                        //}

                        #endregion


                        TransactionLogService.SaveTransactionLog(_transactionLogService, "Sales Return", trnType, rcvNo.ToString(), Session["UserName"].ToString());
                        //LoadDropDown.ProvitionInvRSave("IR", "I", recvInfo.RcvNo, recvInfo.VchrNo, Session["FinYear"].ToString(), Session["ProjCode"].ToString(), Session["BranchCode"].ToString(), recvMain.RcvDate.ToString("yyyy-MM-dd"), Session["UserName"].ToString());
                        transaction.Complete();
                        return(Json(new { Msg = Msg }, JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        transaction.Dispose();
                        return(Json("3", JsonRequestBehavior.AllowGet));
                    }
                    #endregion
                }
                catch (Exception ex)
                {
                    transaction.Dispose();
                    return(Json(ex.Message.ToString(), JsonRequestBehavior.AllowGet));
                }
            }
        }
Esempio n. 4
0
        private void AddRDetailToSession(Receive oReceive)
        {
            if (Session[SES_ROW_INDEX] != null)
            {
                oReceive.ReceiveDetailsList.RemoveAt((int)Session[SES_ROW_INDEX]);
                Session[SES_ROW_INDEX] = null;
            }
            // (New Denomination == Old Denomination) &&
            // (Old Series == New Series) &&
            // ( New-From point in || New-To point in ||
            // Old-From point in || Old-To point in )
            // != Incorrect Format
            ReceiveDetails oReceiveDetailExist = oReceive.ReceiveDetailsList.Where(c => c.Denomination.DenominationID.Equals(Util.GetIntNumber(ddlDenomination.SelectedItem.Value)) && c.SPSeries.Equals(txtSeries.Text.Trim()) &&
                                                                                   (
                                                                                       ( // New-From point in
                                                                                           Util.GetIntNumber(txtFrom.Text) >= Util.GetIntNumber(c.SeriesFrom)
                                                                                           &&
                                                                                           Util.GetIntNumber(txtFrom.Text) <= Util.GetIntNumber(c.SeriesTo)
                                                                                       ) ||
                                                                                       ( // New-To point in
                                                                                           Util.GetIntNumber(txtTo.Text) >= Util.GetIntNumber(c.SeriesFrom)
                                                                                           &&
                                                                                           Util.GetIntNumber(txtTo.Text) <= Util.GetIntNumber(c.SeriesTo)
                                                                                       ) ||
                                                                                       ( // Old-From point in
                                                                                           Util.GetIntNumber(txtFrom.Text) <= Util.GetIntNumber(c.SeriesFrom)
                                                                                           &&
                                                                                           Util.GetIntNumber(txtTo.Text) >= Util.GetIntNumber(c.SeriesFrom)
                                                                                       ) ||
                                                                                       ( // Old-To point in
                                                                                           Util.GetIntNumber(txtFrom.Text) <= Util.GetIntNumber(c.SeriesTo)
                                                                                           &&
                                                                                           Util.GetIntNumber(txtTo.Text) >= Util.GetIntNumber(c.SeriesTo)
                                                                                       )
                                                                                   )
                                                                                   ).SingleOrDefault();


            if (oReceiveDetailExist != null)
            {
                ucMessage.OpenMessage("Inconsistent data !!", Constants.MSG_TYPE_INFO);
                ScriptManager.RegisterStartupScript(this.UpdatePanel2, typeof(string), Constants.POPUP_WINDOW, Util.OpenPopup("info"), true);
            }
            else
            {
                // add to list as a new data
                Config oConfig = (Config)Session[Constants.SES_USER_CONFIG];


                int iExistTotalAmount = oReceive.ReceiveDetailsList.Sum(r => r.Denomination.DenominationID * r.ReceiveQuantity);
                if (Util.GetDecimalNumber(iExistTotalAmount.ToString()) + Util.GetDecimalNumber(txtDnmAmount.Text) > Util.GetIntNumber(txtReceiveAmount.Text))
                {
                    ucMessage.OpenMessage("Denomination amount & Receive Amount must be equal !!", Constants.MSG_TYPE_INFO);
                    ScriptManager.RegisterStartupScript(this.UpdatePanel2, typeof(string), Constants.POPUP_WINDOW, Util.OpenPopup("info"), true);

                    return;
                }
                ReceiveDetails oReceiveDetails = new ReceiveDetails();
                oReceiveDetails.SPSeries      = txtSeries.Text.Trim().ToUpper();
                oReceiveDetails.SeriesFrom    = txtFrom.Text.Trim().PadLeft(Convert.ToInt32(hdDigitsInSlNo.Value), '0').ToUpper();
                oReceiveDetails.SeriesTo      = txtTo.Text.Trim().PadLeft(Convert.ToInt32(hdDigitsInSlNo.Value), '0').ToUpper();
                oReceiveDetails.CabinetNumber = Util.GetIntNumber(txtCabinetNumber.Text);
                oReceiveDetails.DrawerNumber  = Util.GetIntNumber(txtDrawerNumber.Text);

                oReceiveDetails.ReceiveQuantity             = Util.GetIntNumber(txtQuantity.Text);
                oReceiveDetails.Denomination.DenominationID = Util.GetIntNumber(ddlDenomination.SelectedItem.Value);
                oReceiveDetails.UserDetails         = ucUserDet.UserDetail;
                oReceiveDetails.UserDetails.MakerID = oConfig.UserName;

                oReceive.ReceiveDetailsList.Add(oReceiveDetails);


                gvReceiveDetail.DataSource = null;
                gvReceiveDetail.DataBind();

                DataTable oDataTable = new DataTable("dtData");

                oDataTable.Columns.Add(new DataColumn("bfDenom", typeof(string)));
                oDataTable.Columns.Add(new DataColumn("bfSeries", typeof(string)));
                oDataTable.Columns.Add(new DataColumn("bfFrom", typeof(string)));
                oDataTable.Columns.Add(new DataColumn("bfTo", typeof(string)));
                oDataTable.Columns.Add(new DataColumn("bfQuantity", typeof(string)));
                oDataTable.Columns.Add(new DataColumn("bfDnmAmount", typeof(string)));
                oDataTable.Columns.Add(new DataColumn("bfCabinetNumber", typeof(string)));
                oDataTable.Columns.Add(new DataColumn("bfDrawerNumber", typeof(string)));

                DataRow row = null;
                if (oReceive.ReceiveDetailsList != null)
                {
                    if (oReceive.ReceiveDetailsList.Count > 0)
                    {
                        for (int i = 0; i < oReceive.ReceiveDetailsList.Count; i++)
                        {
                            oReceiveDetails = (ReceiveDetails)oReceive.ReceiveDetailsList[i];

                            row               = oDataTable.NewRow();
                            row["bfDenom"]    = oReceiveDetails.Denomination.DenominationID.ToString().ToUpper();
                            row["bfSeries"]   = oReceiveDetails.SPSeries.ToString().ToUpper();
                            row["bfFrom"]     = oReceiveDetails.SeriesFrom.ToString().ToUpper();
                            row["bfTo"]       = oReceiveDetails.SeriesTo.ToString().ToUpper();
                            row["bfQuantity"] = oReceiveDetails.ReceiveQuantity.ToString().ToUpper();
                            int iTmp = oReceiveDetails.ReceiveQuantity * oReceiveDetails.Denomination.DenominationID;
                            row["bfDnmAmount"]     = iTmp.ToString();
                            row["bfCabinetNumber"] = oReceiveDetails.CabinetNumber.ToString().ToUpper();
                            row["bfDrawerNumber"]  = oReceiveDetails.DrawerNumber.ToString().ToUpper();

                            oDataTable.Rows.Add(row);
                        }
                        gvReceiveDetail.DataSource = oDataTable;
                        gvReceiveDetail.DataBind();
                    }
                }

                Session[Constants.SES_RECEIVE] = oReceive;

                txtSeries.Text        = "";
                txtFrom.Text          = "";
                txtTo.Text            = "";
                txtQuantity.Text      = "";
                txtDnmAmount.Text     = "";
                txtDrawerNumber.Text  = "";
                txtCabinetNumber.Text = "";
                if (ddlDenomination.Items.Count > 0)
                {
                    ddlDenomination.SelectedIndex = 0;
                }
            }
        }
Esempio n. 5
0
        protected void gvReceiveDetail_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            GridViewRow gvRow       = (GridViewRow)((Button)e.CommandSource).NamingContainer;
            string      sButtonText = ((Button)e.CommandSource).CommandName;

            if (sButtonText.Equals("Select"))
            {
                hdDenom.Value = gvRow.Cells[2].Text;

                DDListUtil.Assign(ddlDenomination, gvRow.Cells[2].Text);
                txtSeries.Text        = gvRow.Cells[3].Text;
                txtFrom.Text          = gvRow.Cells[4].Text;
                txtTo.Text            = gvRow.Cells[5].Text;
                txtQuantity.Text      = gvRow.Cells[6].Text;
                txtDnmAmount.Text     = gvRow.Cells[7].Text;
                txtCabinetNumber.Text = gvRow.Cells[8].Text;
                txtDrawerNumber.Text  = gvRow.Cells[9].Text;

                Session[SES_ROW_INDEX] = gvRow.RowIndex;
            }
            else if (sButtonText.Equals("Delete"))
            {
                // need to delete previous data by Denomination
                Receive oReceive = (Receive)Session[Constants.SES_RECEIVE];
                if (oReceive.ReceiveDetailsList.Count > 0)
                {
                    if (gvRow.RowIndex != -1)
                    {
                        oReceive.ReceiveDetailsList.RemoveAt(gvRow.RowIndex);
                    }
                }

                gvReceiveDetail.DataSource = null;
                gvReceiveDetail.DataBind();

                DataTable oDataTable = new DataTable("dtData");

                oDataTable.Columns.Add(new DataColumn("bfDenom", typeof(string)));
                oDataTable.Columns.Add(new DataColumn("bfSeries", typeof(string)));
                oDataTable.Columns.Add(new DataColumn("bfFrom", typeof(string)));
                oDataTable.Columns.Add(new DataColumn("bfTo", typeof(string)));
                oDataTable.Columns.Add(new DataColumn("bfQuantity", typeof(string)));
                oDataTable.Columns.Add(new DataColumn("bfDnmAmount", typeof(string)));
                oDataTable.Columns.Add(new DataColumn("bfCabinetNumber", typeof(string)));
                oDataTable.Columns.Add(new DataColumn("bfDrawerNumber", typeof(string)));

                ReceiveDetails oReceiveDetails = null;
                DataRow        row             = null;
                if (oReceive.ReceiveDetailsList != null)
                {
                    if (oReceive.ReceiveDetailsList.Count > 0)
                    {
                        for (int i = 0; i < oReceive.ReceiveDetailsList.Count; i++)
                        {
                            oReceiveDetails = (ReceiveDetails)oReceive.ReceiveDetailsList[i];

                            row               = oDataTable.NewRow();
                            row["bfDenom"]    = oReceiveDetails.Denomination.DenominationID.ToString().ToUpper();
                            row["bfSeries"]   = oReceiveDetails.SPSeries.ToString().ToUpper();
                            row["bfFrom"]     = oReceiveDetails.SeriesFrom.ToString().ToUpper();
                            row["bfTo"]       = oReceiveDetails.SeriesTo.ToString().ToUpper();
                            row["bfQuantity"] = oReceiveDetails.ReceiveQuantity.ToString().ToUpper();
                            int iTmp = oReceiveDetails.ReceiveQuantity * oReceiveDetails.Denomination.DenominationID;
                            row["bfDnmAmount"]     = iTmp.ToString();
                            row["bfCabinetNumber"] = oReceiveDetails.CabinetNumber.ToString().ToUpper();
                            row["bfDrawerNumber"]  = oReceiveDetails.DrawerNumber.ToString().ToUpper();

                            oDataTable.Rows.Add(row);
                        }
                        gvReceiveDetail.DataSource = oDataTable;
                        gvReceiveDetail.DataBind();
                    }
                }
                ddlDenomination.SelectedIndex = 0;
                txtCabinetNumber.Text         = string.Empty;
                txtDrawerNumber.Text          = string.Empty;


                Session[Constants.SES_RECEIVE] = oReceive;
            }
        }