Esempio n. 1
0
        public ActionResult UpdatePayment(Payment payment)
        {
            using (var transaction = new TransactionScope())
            {
                try
                {
                    RBACUser rUser = new RBACUser(Session["UserName"].ToString());
                    if (!rUser.HasPermission("BankPayment_Update"))
                    {
                        return(Json("U", JsonRequestBehavior.AllowGet));
                    }
                    List <BankOperationVModel> CashOPVM = new List <BankOperationVModel>();
                    var gset = _gsetService.All().LastOrDefault();

                    payment.BranchCode = Session["BranchCode"].ToString();
                    payment.FinYear    = Session["FinYear"].ToString();
                    payment.bankAccode = Session["BankAccode"].ToString();



                    string branchCode    = Session["BranchCode"].ToString();
                    string finYear       = Session["FinYear"].ToString();
                    string bankAccode    = Session["BankAccode"].ToString();
                    var    bankOperation = _bankOperationService.All().ToList().LastOrDefault(x => x.BranchCode == branchCode && x.bankAccode == bankAccode && x.TrDate == payment.PayDate);
                    var    Payment       = _paymentService.All().ToList().Where(x => x.PayCode == payment.PayCode.Trim()).FirstOrDefault();
                    if (bankOperation != null && Payment != null)
                    {
                        bankOperation.PayTotal = bankOperation.PayTotal + Payment.Amount - payment.Amount;
                        bankOperation.CloseBal = bankOperation.OpenBal + bankOperation.RecTotal - bankOperation.PayTotal;

                        _bankOperationService.Update(bankOperation);
                        _bankOperationService.Save();
                        Payment = payment;
                        _paymentService.All().ToList().Where(y => y.PayCode == payment.PayCode).ToList().ForEach(x => _paymentService.Delete(x));
                        _paymentService.Save();

                        _paymentService.Add(Payment);
                        _paymentService.Save();
                        // Delete Provision
                        var entryNo = payment.PayCode;
                        LoadDropDown.journalVoucherRemoval("BP", entryNo, payment.VoucherNo, payment.FinYear);

                        //Insert to provision
                        LoadDropDown.journalVoucherSave("BP", "I", payment.PayCode, payment.VoucherNo, payment.FinYear, "01", payment.BranchCode, payment.PayDate, payment.bankAccode, Session["UserName"].ToString());
                        TransactionLogService.SaveTransactionLog(_transactionLogService, "Payment", "Update", payment.PayCode, User.Identity.Name);
                        var sysSet = _sysSetService.All().FirstOrDefault();
                        if (sysSet.CashRule == "O")
                        {
                            LoadDropDown.BankRecalculate(payment.PayDate, Convert.ToDecimal(payment.Amount), Session["ProjCode"].ToString(), payment.BranchCode, payment.FinYear, payment.bankAccode);
                        }
                        CashOPVM = GetAllPayment(payment.PayDate, payment.BranchCode, payment.bankAccode);
                        transaction.Complete();
                        return(Json(new { CashOPVM, data = 1 }, JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        return(Json("0", JsonRequestBehavior.AllowGet));
                    }
                }
                catch (Exception ex)
                {
                    transaction.Dispose();
                    return(Json(ex.Message.ToString(), JsonRequestBehavior.AllowGet));
                }
            }
        }
        public ActionResult DelBankOperation(string tag, string transactionNo, string dateTime)
        {
            if (tag == "RT")
            {
                RBACUser rUser = new RBACUser(Session["UserName"].ToString());
                if (!rUser.HasPermission("Remittance_Delete"))
                {
                    return(Json("D", JsonRequestBehavior.AllowGet));
                }
            }
            if (tag == "BR")
            {
                RBACUser rUser = new RBACUser(Session["UserName"].ToString());
                if (!rUser.HasPermission("BankReceipt_Delete"))
                {
                    return(Json("D", JsonRequestBehavior.AllowGet));
                }
            }
            if (tag == "BP")
            {
                RBACUser rUser = new RBACUser(Session["UserName"].ToString());
                if (!rUser.HasPermission("BankPayment_Delete"))
                {
                    return(Json("D", JsonRequestBehavior.AllowGet));
                }
            }
            List <BankOperationVModel> CashOPVM = new List <BankOperationVModel>();
            string branchCode = Session["BranchCode"].ToString();
            string bankAccode = Session["BankAccode"].ToString();

            switch (tag)
            {
            case "RT":
            {
                var hoRemit = _hoRemitService.All().ToList().FirstOrDefault(x => x.RemitNo == transactionNo.Trim());
                if (hoRemit != null)
                {
                    using (var transaction = new TransactionScope())
                    {
                        try
                        {
                            _hoRemitService.Delete(hoRemit);
                            _hoRemitService.Save();
                            TransactionLogService.SaveTransactionLog(_transactionLogService, "H/O Remittance", "Delete", hoRemit.RemitNo, User.Identity.Name);
                            var entryNo = hoRemit.RemitNo;
                            // var entryNo = Convert.ToInt64(hoRemit.VoucherNo.Substring(2, 8)).ToString().PadLeft(8, '0');
                            LoadDropDown.journalVoucherRemoval("RT", entryNo, hoRemit.VoucherNo, hoRemit.FinYear);
                            CashOPVM = GetAllRemittances(Convert.ToDateTime(dateTime), branchCode, bankAccode);
                            transaction.Complete();
                        }
                        catch (Exception)
                        {
                            transaction.Dispose();
                            return(Json("0", JsonRequestBehavior.AllowGet));
                        }
                    }

                    return(Json(CashOPVM, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json("0", JsonRequestBehavior.AllowGet));
                }
            }

            case "BR":
            {
                var bankReceipt = _BankReceiptAppService.All().ToList().FirstOrDefault(x => x.BReceiptNo == transactionNo.Trim());
                if (bankReceipt != null)
                {
                    //bankReceipt.BranchCode = Session["BranchCode"].ToString();
                    //bankReceipt.FinYear = Session["FinYear"].ToString();
                    //bankReceipt.bankAccode = Session["BankAccode"].ToString();
                    //bankReceipt.NewChart = _newChartService.All().ToList().FirstOrDefault(x => x.Accode == bankReceipt.purAccode.Trim());
                    //bankReceipt.bankNewChart = _newChartService.All().ToList().FirstOrDefault(x => x.Accode == bankReceipt.bankAccode.Trim());
                    using (var transaction = new TransactionScope())
                    {
                        try
                        {
                            _BankReceiptAppService.Delete(bankReceipt);
                            _BankReceiptAppService.Save();
                            TransactionLogService.SaveTransactionLog(_transactionLogService, "Bank Receipt", "Delete", bankReceipt.BReceiptNo, User.Identity.Name);
                            var entryNo = bankReceipt.BReceiptNo;
                            // var entryNo = Convert.ToInt64(bankReceipt.VoucherNo.Substring(2, 8)).ToString().PadLeft(8, '0');
                            LoadDropDown.journalVoucherRemoval("BR", entryNo, bankReceipt.VoucherNo, bankReceipt.FinYear);
                            CashOPVM = GetAllRemittances(bankReceipt.BReceiptDate, bankReceipt.BranchCode, bankAccode);
                            transaction.Complete();
                        }
                        catch (Exception)
                        {
                            transaction.Dispose();
                            return(Json("0", JsonRequestBehavior.AllowGet));
                        }
                    }

                    return(Json(CashOPVM, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json("0", JsonRequestBehavior.AllowGet));
                }
            }

            case "BW":
            {
                return(Json("2", JsonRequestBehavior.AllowGet));
            }

            case "BP":
            {
                var payment = _paymentService.All().ToList().FirstOrDefault(x => x.PayCode == transactionNo.Trim());
                if (payment != null)
                {
                    using (var transaction = new TransactionScope())
                    {
                        try
                        {
                            _paymentService.Delete(payment);
                            _paymentService.Save();
                            TransactionLogService.SaveTransactionLog(_transactionLogService, "Expene", "Delete", payment.PayCode, User.Identity.Name);
                            var entryNo = payment.PayCode;
                            // var entryNo = Convert.ToInt64(payment.VoucherNo.Substring(2, 8)).ToString().PadLeft(8, '0');
                            LoadDropDown.journalVoucherRemoval("BP", entryNo, payment.VoucherNo, payment.FinYear);
                            CashOPVM = GetAllPayment(payment.PayDate, payment.BranchCode, bankAccode);
                            transaction.Complete();
                        }
                        catch (Exception)
                        {
                            transaction.Dispose();
                            return(Json("0", JsonRequestBehavior.AllowGet));
                        }
                    }

                    return(Json(CashOPVM, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    return(Json("0", JsonRequestBehavior.AllowGet));
                }
            }

            case "BD":
            {
                return(Json("2", JsonRequestBehavior.AllowGet));
            }

            default:
            {
                return(Json(0, JsonRequestBehavior.AllowGet));
            }
            }
        }