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 SaveCashMR(MoneyReceiptVM MrVM, List <MoneyReceiptExt> AdjBills) { using (var transaction = new TransactionScope()) { try { RBACUser rUser = new RBACUser(Session["UserName"].ToString()); if (!rUser.HasPermission("MoneyReceiptCash_Insert")) { return(Json("X", JsonRequestBehavior.AllowGet)); } //----Edit Nasir---// //var cabkop = ""; //var sysSet = _sysSetService.All().FirstOrDefault(); //if (sysSet.ActualBasis == true) //{ //var cabkop = _defACService.All().ToList().FirstOrDefault().CashAc; //} //else //{ // cabkop = _defACService.All().ToList().FirstOrDefault().CashAc; //} //--- ---// string CRNo = ""; var IfExit = _moneyReceiptService.All().Where(x => x.MRNo == MrVM.MRNo).FirstOrDefault(); if (IfExit == null) { //var todayDate = DateTime.Now; CashReceipt CR = new CashReceipt(); CashReceiptSubDetails CRSD = new CashReceiptSubDetails(); 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.Amount; // Accode ???? MR.Accode = MrVM.MRAgainst; // "1.2.001"; MR.CustCode = MrVM.CustCode; MR.FinYear = Session["FinYear"].ToString(); MR.Remarks = MrVM.Remarks; MR.JobNo = MrVM.JobNo; //MR.Ca_Bk = cabkop; // CR.ReceiptNo = _CashReceiptController.GenerateReceiptNo(MR.BranchCode).Substring(6, 0);//MrVM.MRNo; CR.ReceiptNo = _CashReceiptController.GenerateReceiptNo(MR.BranchCode); // CR.ReceiptNo = MrVM.MRNo; CRNo = CR.ReceiptNo; CR.ReceiptDate = (DateTime)MrVM.MRDate; CR.purAccode = MrVM.MRAgainst;// "1.2.004"; CR.RefNo = MrVM.MRSL; CR.Amount = (Double)MrVM.Amount; CR.Advance = false; CR.Remarks = MrVM.Remarks; CR.GLPost = false; CR.BranchCode = MrVM.BranchCode; CR.VoucherNo = MrVM.VchrNo; CR.BranchCode = MR.BranchCode; CR.FinYear = Session["FinYear"].ToString(); CRSD.SubCode = MrVM.CustCode; CRSD.Accode = MrVM.MRAgainst; CRSD.Amount = (Double)MrVM.Amount; CRSD.CashReceiptNo = CRNo; //CR.purAccode = cabkop; // "1.2.004"; _moneyReceiptService.Add(MR); _CashReceiptService.Add(CR); _CashReceiptSubDetailsAppService.Add(CRSD); _CashReceiptService.Save(); _moneyReceiptService.Save(); _CashReceiptSubDetailsAppService.Save(); //List<MoneyReceiptExt> MRExtList = new List<MoneyReceiptExt>(); if (AdjBills != null) { decimal TotAmt = MrVM.Amount; 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(s => s.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; //TotAmt = TotAmt - bill.Amount; } else { saleMain.IsPaid = false; MRExt.Amount = TotAmt; // MRExt.Amount = bill.Amount; //TotAmt = TotAmt - bill.Amount; } saleMain.ReceiptNo = MrVM.MRNo; saleMain.ReceiptAmt = 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(); } } } } //end of foreach } // New Add By Nasir var GCa = _AcBrService.All().Where(s => s.BranchCode == MR.BranchCode && s.Ca_Ba == "Ca").Select(x => x.Accode).FirstOrDefault(); if (GCa == null) { var gset = _gsetService.All().LastOrDefault(); GCa = gset.GCa; } //------------------ TransactionLogService.SaveTransactionLog(_transactionLogService, "Cash MR", "Save", MR.MRSL, Session["UserName"].ToString()); LoadDropDown.journalVoucherSave("CR", "I", CRNo, MrVM.VchrNo, Session["FinYear"].ToString(), Session["ProjCode"].ToString(), Session["BranchCode"].ToString(), Convert.ToDateTime(MrVM.MRDate), GCa, 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)); } } }
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)); } } }