public ActionResult BankDeposit(sdtoViewAccDepositWithdrawal objDepositWithdrawal) { if (objDepositWithdrawal.SourceClick == 0) objDepositWithdrawal.Details.Add(new sdtoViewAccDepositWithdrawalDetails()); else { if (ModelState.IsValid) { bfTransaction objTransaction = new bfTransaction(db); objTransaction.AddBankDeposit(objDepositWithdrawal); if (objDepositWithdrawal.HeaderId > 0) objTransaction.CancelBankAccountHeader(objDepositWithdrawal.HeaderId); return RedirectToAction("ListBankDepositWithdrawal"); } } var bankBookType = db.AccountBookTypes.Where(x => x.UniqueName.Equals("Bank", StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault(); LoadAccountHeadList(0); LoadAccountBookList(objDepositWithdrawal.Book != null ? objDepositWithdrawal.Book.AccountBookId : 0, bankBookType.AccountBookTypeId); return View(objDepositWithdrawal); }
public ActionResult BankDeposit(long? HeaderId) { var bankBookType = db.AccountBookTypes.Where(x => x.UniqueName.Equals("Bank", StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault(); LoadAccountHeadList(0); LoadAccountBookList(0, bankBookType.AccountBookTypeId); sdtoViewAccDepositWithdrawal obj = new sdtoViewAccDepositWithdrawal() { Date = DateTime.Now }; obj.Details.Add(new sdtoViewAccDepositWithdrawalDetails() { InstrumentDate = DateTime.Now }); if (HeaderId != null && HeaderId.Value > 0) { var header = db.BankDepositHeader.Find(HeaderId); if (header != null) { var accountBook = db.AccountBooks.Find(header.BookId); var openingBalance = db.OpeningBalance.Where(x => x.AccountHeadId == accountBook.AccountHeadId).FirstOrDefault(); obj = new sdtoViewAccDepositWithdrawal() { VoucherTotal = header.VoucherTotal, Book = new sdtoAccountBook() { AccountBookId = header.BookId }, Date = header.TransDate, HeaderId = HeaderId.Value, PreviousVoucherTotal = header.VoucherTotal, Voucher = header.VoucherNo, Balance = openingBalance == null ? 0 : openingBalance.ClosingBalance }; var headerSubList = db.BankDepositDetails.Where(x => x.IsDeleted == false && x.BankDepositId == obj.HeaderId); if (headerSubList != null) { foreach (sdtoBankDepositDetails dtl in headerSubList) { obj.Details.Add(new sdtoViewAccDepositWithdrawalDetails() { AccountHeadId = dtl.AccountId, Amount = -1 * dtl.Amount, Narration = dtl.Narration }); } } } } return View(obj); }
public ActionResult DepositWithdrawalSave(sdtoViewAccDepositWithdrawal DepositWithdrawal) { LoadAccountHeadList(0); LoadAccountBookList(DepositWithdrawal != null && DepositWithdrawal.Book != null ? DepositWithdrawal.Book.AccountBookId : 0, 0); return View(DepositWithdrawal); }
public ActionResult DepositWithdrawalNewRow(sdtoViewAccDepositWithdrawal objDepositWithdrawal) { objDepositWithdrawal.Details.Add(new sdtoViewAccDepositWithdrawalDetails()); //if (TempData["PrevItems"] == null) //{ // TempData["PrevItems"] = objDepositWithdrawal.Details; //} //else //{ // List<sdtoViewAccDepositWithdrawalDetails> tempList = TempData["PrevItems"] as List<sdtoViewAccDepositWithdrawalDetails>; // foreach (sdtoViewAccDepositWithdrawalDetails dtl in tempList) // { // objDepositWithdrawal.Details.Add(dtl); // } // objDepositWithdrawal.Details.Add(new sdtoViewAccDepositWithdrawalDetails()); // TempData["PrevItems"] = objDepositWithdrawal.Details; //} LoadAccountHeadList(0); LoadAccountBookList(objDepositWithdrawal.Book != null ? objDepositWithdrawal.Book.AccountBookId : 0, 0); return View(objDepositWithdrawal); }
public bool AddBankDeposit(sdtoViewAccDepositWithdrawal objDepositWithdrawal) { var accBankBook = AppDb.AccountBooks.Where(x => x.AccountBookId == objDepositWithdrawal.Book.AccountBookId).FirstOrDefault(); if (accBankBook != null) { sdtoBankDepositHeader hdrBankDeposit = new sdtoBankDepositHeader() { BookId = objDepositWithdrawal.Book.AccountBookId, Cancelled = 0, CreatedOn = DateTime.Now, CreatedBy = CurrentUser.UserID, TransDate = objDepositWithdrawal.Date, FinYear = 1, FromModule = 0, IsDeleted = false, VoucherNo = objDepositWithdrawal.Voucher, VoucherTotal = objDepositWithdrawal.VoucherTotal }; AppDb.BankDepositHeader.Add(hdrBankDeposit); AppDb.SaveChanges(); hdrBankDeposit.VoucherNo = accBankBook.ReceiptVoucherPrefix + hdrBankDeposit.Id + accBankBook.ReceiptVoucherSuffix; AppDb.Entry(hdrBankDeposit).State = EntityState.Modified; AppDb.SaveChanges(); foreach (sdtoViewAccDepositWithdrawalDetails dtl in objDepositWithdrawal.Details) { sdtoBankDepositDetails bankDepositDtlCr = new sdtoBankDepositDetails() { BankDepositId = hdrBankDeposit.Id, AccountId = dtl.AccountHeadId, Narration = dtl.Narration, Amount = -1 * dtl.Amount, CreatedBy = CurrentUser.UserID, CreatedOn = DateTime.Now, Display = 1, IsDeleted = false, Instrument = dtl.InstrumentType, InstrumentNo = dtl.InstrumentNo }; if (dtl.InstrumentDate != DateTime.MinValue) bankDepositDtlCr.InstrumentDate = dtl.InstrumentDate; UpdateClosingBalance(bankDepositDtlCr.AccountId, CurrentUser.UserSession.FinancialYearId.Value, Convert.ToDecimal(bankDepositDtlCr.Amount)); UpdateDayBookBalance(bankDepositDtlCr.AccountId, CurrentUser.UserSession.FinancialYearId.Value, objDepositWithdrawal.Date, Convert.ToDecimal(bankDepositDtlCr.Amount), TransactionType.BankDeposit); AppDb.BankDepositDetails.Add(bankDepositDtlCr); } AppDb.SaveChanges(); sdtoBankDepositDetails bankDepositDtlDb = new sdtoBankDepositDetails() { BankDepositId = hdrBankDeposit.Id, AccountId = accBankBook.AccountHeadId.Value, Narration = "Bank deposit/withdrawal", Amount = objDepositWithdrawal.Details.Sum(x => x.Amount), CreatedBy = CurrentUser.UserID, CreatedOn = DateTime.Now, Display = 0, IsDeleted = false, Instrument = objDepositWithdrawal.Details.FirstOrDefault().InstrumentType, InstrumentNo = objDepositWithdrawal.Details.FirstOrDefault().InstrumentNo, InstrumentDate = objDepositWithdrawal.Details.FirstOrDefault().InstrumentDate }; UpdateClosingBalance(bankDepositDtlDb.AccountId, CurrentUser.UserSession.FinancialYearId.Value, Convert.ToDecimal(bankDepositDtlDb.Amount)); AppDb.BankDepositDetails.Add(bankDepositDtlDb); AppDb.SaveChanges(); return true; } else return false; }