Esempio n. 1
0
 public ActionResult GetInvNoByAmount(string InvNo, string VchrType)
 {
     if (VchrType == "Money Receipt")
     {
         var MRs = _moneyReceiptService.All().ToList().Where(x => x.MRNo == InvNo).Select(s => new
         {
             MRAmount = s.MRAmount
         }).FirstOrDefault();
         return(Json(new { MRs = MRs }, JsonRequestBehavior.AllowGet));
     }
     else if (VchrType == "Invoice")
     {
         var Sales = _SalesMainService.All().ToList().Where(x => x.SaleNo == InvNo).Select(s =>
                                                                                           new
         {
             TotSaleAmt = s.TotSaleAmt,
             NetAmount  = s.NetAmount,
             ReceiptAmt = s.ReceiptAmt
         }).FirstOrDefault();
         return(Json(new { Sales = Sales }, JsonRequestBehavior.AllowGet));
     }
     else
     {
         return(Json("", JsonRequestBehavior.AllowGet));
     }
 }
        public ActionResult GetAllByMRNo(string MRNo)
        {
            var GetMR = (from mr in _moneyReceiptService.All().ToList()
                         where mr.MRNo == MRNo && mr.PayMode == "Ca"
                         select new
            {
                MRSL = mr.MRSL,
                ProjCode = mr.ProjCode,
                BranchCode = mr.BranchCode,
                MRNo = mr.MRNo,
                MRDate = mr.MRDate,
                MRAgainst = mr.MRAgainst,
                GetwayId = mr.GetwayId,
                CustCode = mr.CustCode,
                MRAmount = mr.MRAmount,
                VchrNo = mr.VchrNo,
                Accode = mr.Accode,
                Posted = mr.Posted,
                AdjWithBill = mr.AdjWithBill,
                JobNo = mr.JobNo,
                Remarks = mr.Remarks,
                DepositBank = mr.DepositBank,
                DepositDate = mr.EncashDate
            }).FirstOrDefault();

            return(Json(new { GetMR = GetMR }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult GetAllBySaleNo(string saleNo, string CancelType)
        {
            var SaleMain = (dynamic)null;

            if (CancelType == "1")
            {
                SaleMain = _salesMainService.All().ToList().FirstOrDefault(x => x.SaleNo == saleNo);
            }
            else
            {
                SaleMain = _moneyReceiptService.All().ToList().FirstOrDefault(x => x.MRSL == saleNo);
            }
            return(Json(SaleMain, JsonRequestBehavior.AllowGet));
        }
Esempio n. 4
0
        public ActionResult PendingRptPdf(DateTime fDate, DateTime tDate)
        {
            var ChkFYR = GetCompanyInfo.ValidateFinYearDateRange(Convert.ToString(fDate), Convert.ToString(tDate), Session["FinYear"].ToString());

            if (ChkFYR != "")
            {
                return(RedirectToAction("SecUserLogin", "SecUserLogin", new { errMsg = ChkFYR }));
            }

            RBACUser rUser = new RBACUser(Session["UserName"].ToString());

            if (!rUser.HasPermission("PendingSearch_Preview"))
            {
                string errMsg = "No Preview Permission for this User !!";
                return(RedirectToAction("SecUserLogin", "SecUserLogin", new { errMsg }));
            }

            ViewBag.fDate = InWord.GetAbbrMonthNameDate(fDate);
            ViewBag.tDate = InWord.GetAbbrMonthNameDate(tDate);

            List <PendingNotEncashRptVM> finalList = new List <PendingNotEncashRptVM>();
            List <MoneyReceipt>          MRList    = new List <MoneyReceipt>();
            List <ChequeReceipt>         CRList    = new List <ChequeReceipt>();



            //ChequeReceipt itemob2 = new ChequeReceipt();

            //MoneyReceipt MoneyReceipt = new MoneyReceipt();
            //List<String> MRIdList = new List<String>();


            MRList = _IMoneyReceiptAppService.All().Where(x => x.EncashDate == null).ToList();
            CRList = _IChequeReceiptAppService.All().Where(x => x.ChqStatus == null).ToList();


            foreach (var item in MRList)
            {
                PendingNotEncashRptVM itemob = new PendingNotEncashRptVM();

                itemob.MRSL     = item.MRSL;
                itemob.MRNo     = item.MRNo;
                itemob.MRDate   = item.MRDate;
                itemob.CustCode = item.CustCode;
                //itemob.ChkAmount = "";
                itemob.MRAmount = item.MRAmount;
                itemob.Remarks  = item.Remarks;

                finalList.Add(itemob);
            }


            foreach (var item in CRList)
            {
                PendingNotEncashRptVM itemob = new PendingNotEncashRptVM();
                itemob.MRSL      = item.MRSL;
                itemob.MRNo      = item.ChqReceiptNo;
                itemob.MRDate    = item.ChqReceiptDate;
                itemob.CustCode  = item.SubCode;
                itemob.ChkAmount = item.Amount;
                // itemob.MRAmount = item.MRAmount;
                itemob.Remarks = item.Remarks;

                finalList.Add(itemob);
            }



            //For us Culture Ex: 0.00
            const string culture = "en-US";
            CultureInfo  ci      = CultureInfo.GetCultureInfo(culture);

            Thread.CurrentThread.CurrentCulture   = ci;
            Thread.CurrentThread.CurrentUICulture = ci;

            return(new Rotativa.ViewAsPdf("~/Views/Pending/PendingRptPdf.cshtml", finalList)
            {
                CustomSwitches = "--footer-left \"Reporting Date: " + DateTime.Now.ToString("dd-MM-yyyy") + "\" " + "--footer-right \"Page: [page] of [toPage]\" --footer-line --footer-font-size \"9\" --footer-spacing 5 --footer-font-name \"calibri light\""
            });

            //return View(finalList);
        }
        public ActionResult UpdateCheRec(ChequeReceipt CheRec)
        {
            RBACUser rUser = new RBACUser(Session["UserName"].ToString());

            if (!rUser.HasPermission("ChequeReceipt_Update"))
            {
                return(Json("U", JsonRequestBehavior.AllowGet));
            }
            using (var transaction = new TransactionScope())
            {
                try
                {
                    var VchrExist   = _vchrMainService.All().FirstOrDefault(s => s.VchrNo == CheRec.VchrNo);
                    var chqArcExist = _chequeArchiveService.All().ToList().Where(x => x.ChqNo == CheRec.oldChqNo).Select(s => s.ChqStatus).ToList();
                    if (chqArcExist.Contains("Receive") && CheRec.ChqStatus == "Receive" || chqArcExist.Contains("Receive") && CheRec.ChqStatus == "Deposit" || chqArcExist.Contains("Deposit") && CheRec.ChqStatus == "Encash" ||
                        chqArcExist.Contains("Encash") && CheRec.ChqStatus != "Dishonour" && CheRec.ChqStatus != "Return")
                    {
                        if (VchrExist == null)
                        {
                            ChequeReceipt cr = new ChequeReceipt();
                            cr            = CheRec;
                            cr.MRTing     = 0;
                            cr.MRTingTime = null;
                            cr.ProjCode   = Session["ProjCode"].ToString();
                            cr.FinYear    = Session["FinYear"].ToString();

                            _chequeReceiptService.Update(cr);
                            _chequeReceiptService.Save();

                            var chqArc = _chequeArchiveService.All().FirstOrDefault(s => s.ChqNo == CheRec.oldChqNo && s.ChqStatus == CheRec.ChqStatus);
                            if (chqArc != null && chqArc.ChqStatus == CheRec.ChqStatus)
                            {
                                chqArc.ChqNo      = CheRec.ChqNo;
                                chqArc.UpdateBy   = CheRec.UpdateBy;
                                chqArc.UpdateDate = CheRec.UpdateDate;
                                chqArc.Reason     = CheRec.Reason;
                                chqArc.Remarks    = CheRec.Remarks;
                                _chequeArchiveService.Update(chqArc);
                                _chequeArchiveService.Save();
                            }
                            else
                            {
                                ChequeArchive ca = new ChequeArchive();
                                ca.ChqStatus  = CheRec.ChqStatus;
                                ca.ChqNo      = CheRec.ChqNo;
                                ca.UpdateBy   = CheRec.UpdateBy;
                                ca.UpdateDate = CheRec.UpdateDate;
                                ca.Reason     = CheRec.Reason;
                                ca.Remarks    = CheRec.Remarks;
                                _chequeArchiveService.Add(ca);
                                _chequeArchiveService.Save();
                            }

                            BankReceipt br = _bankReceiptService.All().Where(s => s.RefNo == CheRec.ChqReceiptNo && s.ChequeNo == CheRec.ChqNo).FirstOrDefault();
                            if (CheRec.ChqStatus == "Deposit")
                            {
                                br.BReceiptDate = CheRec.ChqReceiptDate;
                                br.purAccode    = CheRec.MRAgainst.ToString();
                                br.RefNo        = CheRec.ChqReceiptNo;
                                br.bankAccode   = CheRec.DepositBank;
                                br.ChequeNo     = CheRec.ChqNo;
                                br.ChequeDate   = CheRec.ChqDate;
                                br.Amount       = (double)CheRec.Amount;
                                br.Advance      = false;
                                br.Remarks      = CheRec.Remarks;
                                br.FinYear      = Session["FinYear"].ToString();
                                br.GLPost       = CheRec.GLPost;
                                br.BranchCode   = CheRec.BranchCode;
                                br.VoucherNo    = CheRec.VchrNo;
                                br.SubCode      = CheRec.SubCode;
                                br.bankCode     = CheRec.BankCode;
                                _bankReceiptService.Update(br);
                                _bankReceiptService.Save();
                            }

                            var MoneyR = _moneyReceiptService.All().Where(s => s.MRNo == CheRec.ChqReceiptNo).FirstOrDefault();
                            //insert to provision and money receipt table
                            if (CheRec.ChqStatus == "Encash" && (MoneyR == null ? "000000" : MoneyR.MRNo) != CheRec.ChqReceiptNo)
                            {
                                MoneyReceipt MR = new MoneyReceipt();
                                MR.MRSL        = LoadDropDown.GenerateRecvSlNo(_moneyReceiptService, CheRec.BranchCode, Session["BranchCode"].ToString(), CheRec.ProjCode, Session["VchrConv"].ToString());
                                MR.BranchCode  = (CheRec.BranchCode == null) ? Session["BranchCode"].ToString() : CheRec.BranchCode;
                                MR.ProjCode    = (CheRec.ProjCode == null) ? Session["ProjCode"].ToString() : CheRec.ProjCode;
                                MR.MRNo        = CheRec.ChqReceiptNo;
                                MR.MRDate      = CheRec.ChqReceiptDate;
                                MR.MRAgainst   = CheRec.MRAgainst;
                                MR.VchrNo      = CheRec.VchrNo;
                                MR.PayMode     = "Cq";
                                MR.Posted      = CheRec.PostDated;
                                MR.AdjWithBill = CheRec.AdjWithBill;
                                MR.MRAmount    = CheRec.Amount;
                                MR.Accode      = CheRec.MRAgainst;
                                MR.CustCode    = CheRec.SubCode;
                                MR.FinYear     = Session["FinYear"].ToString();
                                MR.Remarks     = CheRec.Remarks;
                                MR.JobNo       = CheRec.JobNo;
                                MR.Ca_Bk       = CheRec.DepositBank;
                                MR.ChqNo       = CheRec.ChqNo;
                                MR.ChqDate     = CheRec.ChqDate;
                                MR.EncashDate  = CheRec.EncashDate;
                                MR.DepositBank = CheRec.DepositBank;
                                _moneyReceiptService.Add(MR);
                                _moneyReceiptService.Save();

                                var chqExt = _chqRecExtService.All().ToList().Where(s => s.ChqReceiptID == CheRec.ChqReceiptId);
                                foreach (var chqExtitem in chqExt)
                                {
                                    MoneyReceiptExt MRExt = new MoneyReceiptExt();
                                    MRExt.MRId   = _moneyReceiptService.All().OrderBy(s => s.MRId).LastOrDefault().MRId;
                                    MRExt.SaleNo = chqExtitem.BillNo;
                                    MRExt.Amount = chqExtitem.BillAmount;
                                    _moneyReceiptExtService.Add(MRExt);
                                    _moneyReceiptExtService.Save();
                                }
                                LoadDropDown.journalVoucherSave("BR", "I", br.BReceiptNo, CheRec.VchrNo, Session["FinYear"].ToString(), Session["ProjCode"].ToString(), CheRec.BranchCode, CheRec.ChqReceiptDate, CheRec.DepositBank, Session["UserName"].ToString());
                            }
                            ////update to provision
                            //LoadDropDown.journalVoucherRemoval("BR", CheRec.ChqReceiptNo, CheRec.VchrNo, Session["FinYear"].ToString());
                            //LoadDropDown.journalVoucherSave("BR", "I", CheRec.ChqReceiptNo, CheRec.VchrNo, Session["FinYear"].ToString(), Session["ProjCode"].ToString(), CheRec.BranchCode, CheRec.ChqReceiptDate, CheRec.DepositBank, Session["UserName"].ToString());
                            TransactionLogService.SaveTransactionLog(_transactionLogService, "ChequeReceipt", "Update", CheRec.ChqReceiptNo, Session["UserName"].ToString());

                            transaction.Complete();
                            return(Json("1", JsonRequestBehavior.AllowGet));
                        }
                        else
                        {
                            return(Json("2", JsonRequestBehavior.AllowGet));
                        }
                    }
                    else
                    {
                        return(Json("3", JsonRequestBehavior.AllowGet));
                    }
                }
                catch (Exception)
                {
                    transaction.Dispose();
                    return(Json("0", JsonRequestBehavior.AllowGet));
                }
            }
        }
        public ActionResult SaveMROnline(MROnlineVM MrVM, List <MoneyReceiptExt> AdjBills)
        {
            using (var transaction = new TransactionScope())
            {
                try
                {
                    RBACUser rUser = new RBACUser(Session["UserName"].ToString());
                    if (!rUser.HasPermission("MoneyReceiptOnline_Insert"))
                    {
                        return(Json("X", JsonRequestBehavior.AllowGet));
                    }
                    var IfExit = _moneyReceiptService.All().Where(x => x.MRSL == MrVM.MRSL && x.MRNo == MrVM.MRNo).FirstOrDefault();
                    if (IfExit == null)
                    {
                        //var todayDate = DateTime.Now;
                        //CashReceipt CR = new CashReceipt();
                        BankReceipt  br = new BankReceipt();
                        MoneyReceipt MR = new MoneyReceipt();
                        MR.MRSL       = MrVM.MRSL;
                        MR.BranchCode = (MrVM.BranchCode == null) ? Session["BranchCode"].ToString() : MrVM.BranchCode;
                        MR.ProjCode   = (MrVM.ProjCode == null) ? Session["ProjCode"].ToString() : MrVM.ProjCode;
                        MR.MRNo       = MrVM.MRNo;
                        MR.MRDate     = MrVM.MRDate; //.AddHours(todayDate.Hour).AddMinutes(todayDate.Minute).AddSeconds(todayDate.Second).AddMilliseconds(todayDate.Millisecond);
                        MR.MRAgainst  = MrVM.MRAgainst;
                        MR.VchrNo     = MrVM.VchrNo;
                        MR.PayMode    = "Ca";
                        //MR.Posted = MrVM.Posted;
                        //MR.AdjWithBill = MrVM.AdjWithBill;
                        MR.MRAmount = MrVM.MRAmount;
                        MR.Accode   = MrVM.MRAgainst;
                        //if (MrVM.Accode == "0")
                        //{
                        //    MR.Accode = _defACService.All().ToList().FirstOrDefault().CashAc;
                        //}
                        MR.CustCode    = MrVM.CustCode;
                        MR.FinYear     = Session["FinYear"].ToString();
                        MR.Remarks     = MrVM.Remarks;
                        MR.JobNo       = MrVM.JobNo;
                        MR.CollectedBy = MrVM.CollectedBy;
                        MR.GetwayId    = MrVM.GetwayId;
                        MR.DepositBank = MrVM.DepositBank;
                        MR.EncashDate  = MrVM.DepositDate;

                        br.BReceiptNo   = MrVM.MRSL;
                        br.BReceiptDate = (DateTime)MrVM.MRDate;
                        br.purAccode    = MrVM.MRAgainst;
                        br.RefNo        = MrVM.MRNo;
                        br.bankAccode   = MrVM.DepositBank;
                        br.ChequeNo     = "Online";
                        br.ChequeDate   = DateTime.Now;
                        br.Amount       = (double)MrVM.MRAmount;
                        br.Advance      = false;
                        br.Remarks      = MrVM.Remarks;
                        br.FinYear      = Session["FinYear"].ToString();
                        br.GLPost       = false;
                        br.BranchCode   = (MrVM.BranchCode == null) ? Session["BranchCode"].ToString() : MrVM.BranchCode;
                        br.VoucherNo    = MrVM.VchrNo;
                        br.SubCode      = MrVM.CustCode;
                        br.bankCode     = MrVM.DepositBank;


                        //CR.ReceiptNo = MrVM.MRNo;
                        //CR.ReceiptDate = (DateTime)MrVM.MRDate;
                        //CR.purAccode = MrVM.MRAgainst;
                        ////if (MrVM.Accode == "0")
                        ////{
                        ////    CR.purAccode = _defACService.All().ToList().FirstOrDefault().CashAc;
                        ////}
                        //CR.RefNo = MrVM.MRSL;
                        //CR.Amount = (Double)MrVM.MRAmount;
                        //CR.Advance = false;
                        //CR.Remarks = MrVM.Remarks;
                        //CR.GLPost = false;
                        //CR.BranchCode = MrVM.BranchCode;
                        //CR.VoucherNo = MrVM.VchrNo;
                        //CR.JobNo = MrVM.JobNo;
                        //CR.FinYear = Session["FinYear"].ToString();
                        _moneyReceiptService.Add(MR);
                        //_CashReceiptService.Add(CR);
                        //_CashReceiptService.Save();
                        _bankReceiptService.Add(br);

                        _moneyReceiptService.Save();

                        _bankReceiptService.Save();


                        //List<MoneyReceiptExt> MRExtList = new List<MoneyReceiptExt>();

                        if (AdjBills != null)
                        {
                            decimal TotAmt = MrVM.MRAmount;
                            foreach (var bill in AdjBills)
                            {
                                MoneyReceiptExt MRExt    = new MoneyReceiptExt();
                                var             saleMain = _salesMainService.All().Where(s => s.SaleNo == bill.SaleNo).FirstOrDefault();
                                MRExt.MRId        = _moneyReceiptService.All().OrderBy(x => x.MRId).LastOrDefault().MRId;
                                MRExt.SaleNo      = bill.SaleNo;
                                MRExt.InstallNo   = _moneyReceiptExtService.All().OrderBy(s => s.InstallNo).Where(x => x.SaleNo == bill.SaleNo).Select(s => s.InstallNo).LastOrDefault();
                                MRExt.InstallNo   = MRExt.InstallNo + 1;
                                MRExt.InstallDate = DateTime.Now;
                                if (TotAmt >= bill.Amount)
                                {
                                    MRExt.Amount = bill.Amount;
                                    TotAmt       = TotAmt - bill.Amount;

                                    saleMain.ReceiptNo  = MrVM.MRNo;
                                    saleMain.ReceiptAmt = bill.Amount;
                                    saleMain.IsPaid     = true;
                                    _salesMainService.Update(saleMain);
                                    _salesMainService.Save();

                                    _moneyReceiptExtService.Add(MRExt);
                                    _moneyReceiptExtService.Save();
                                }
                                else
                                {
                                    if (bill.IsPaid_mre)
                                    {
                                        saleMain.IsPaid = true;
                                        MRExt.Amount    = TotAmt;
                                    }
                                    else
                                    {
                                        saleMain.IsPaid = false;
                                        MRExt.Amount    = TotAmt;
                                    }

                                    saleMain.ReceiptNo  = MrVM.MRNo;
                                    saleMain.ReceiptAmt = bill.Amount;
                                    //MRExt.Amount = TotAmt;
                                    _moneyReceiptExtService.Add(MRExt);
                                    _moneyReceiptExtService.Save();

                                    string sql = string.Format("select sm.ReceiptAmt,sm.SaleNo, sm.SaleDate, (sm.NetAmount - isnull(sum(mre.Amount),0)) as Billamount from SalesMain sm left join MoneyReceiptExt mre on mre.SaleNo = sm.SaleNo where sm.CustCode = " + MrVM.CustCode + " and sm.IsPaid = 'false'  group by sm.ReceiptAmt, mre.SaleNo, sm.NetAmount, sm.SaleNo, sm.SaleDate, mre.Amount order by sm.SaleNo");
                                    IEnumerable <billShow> BillLst;
                                    using (AcclineERPContext dbContext = new AcclineERPContext())
                                    {
                                        BillLst = dbContext.Database.SqlQuery <billShow>(sql).ToList();
                                    }
                                    foreach (var Salebill in BillLst)
                                    {
                                        if (Salebill.BillAmount == 0)
                                        {
                                            saleMain.ReceiptNo  = MrVM.MRNo;
                                            saleMain.ReceiptAmt = ((Salebill.ReceiptAmt == null) ? 0 : Salebill.ReceiptAmt) + TotAmt;
                                            saleMain.IsPaid     = true;
                                            _salesMainService.Update(saleMain);
                                            _salesMainService.Save();
                                        }
                                    }
                                }
                            }
                        }

                        //var GCa = _AcBrService.All().Where(s => s.BranchCode == MR.BranchCode && s.Ca_Ba == "Ba").Select(x => x.Accode).FirstOrDefault();
                        //if (GCa == null)
                        //{
                        //    var gset = _gsetService.All().LastOrDefault();
                        //    GCa = gset.GCa;
                        //}

                        TransactionLogService.SaveTransactionLog(_transactionLogService, "Online MR", "Save", MR.MRSL, Session["UserName"].ToString());

                        LoadDropDown.journalVoucherSave("BR", "I", MrVM.MRSL, MrVM.VchrNo, Session["FinYear"].ToString(), Session["ProjCode"].ToString(), Session["BranchCode"].ToString(), Convert.ToDateTime(MrVM.MRDate), MrVM.DepositBank, Session["UserName"].ToString());

                        transaction.Complete();
                        return(Json("1", JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        transaction.Dispose();
                        return(Json("3", JsonRequestBehavior.AllowGet));
                    }
                }

                catch (Exception)
                {
                    transaction.Dispose();
                    return(Json("0", JsonRequestBehavior.AllowGet));
                }
            }
        }