public IActionResult BankDepositDetailView(string breadCumValue, long bankDepositId)
        {
            if (HttpContext.Session.GetString("loggedIn") == null || HttpContext.Session.GetString("loggedIn") == "false")
            {
                return(RedirectToAction("Index", "Login"));
            }
            ViewBag.breadCumValue = breadCumValue;
            ViewBag.IsUpdate      = bankDepositId > 0 ? "true" : "false";

            BankDepositViewModel bankDepositViewModel = new BankDepositViewModel();

            if (bankDepositId > 0)
            {
                bankDepositViewModel = (from a in _context.BankDeposits where a.BankDepositId == bankDepositId

                                        select new BankDepositViewModel()
                {
                    BankDepositId = a.BankDepositId, Cash = a.Cash, InHandCash = a.InHandCash, Date = a.Date, CreatedBy = a.CreatedBy,
                    ThirdPartyChequesId = a.BankDepositThirdPartyCheques.Select(x => x.ThirdPartyChequeId).ToList()
                }).Single();
                bankDepositViewModel.ChequeTotal = _context.ThirdPartyCheques
                                                   .Where(x => bankDepositViewModel.ThirdPartyChequesId.Contains(x.ThirdPartyChequeId)).Sum(s => s.Amount);
            }

            bankDepositViewModel.ThirdPartyChequesList = _context.ThirdPartyCheques.Select(x => new ThirdPartyCheque()
            {
                ThirdPartyChequeId = x.ThirdPartyChequeId, ChequeCode = x.ChequeCode, Amount = x.Amount
            }).ToList();

            return(View(bankDepositViewModel));
        }
        public ActionResult BankDeposit()
        {
            BankDepositViewModel model = new BankDepositViewModel();

            model.BankAccountLedgerHeads = db.BankAccountLedgerHeads.Where(a => a.Editable == true && a.Status == true && a.LedgerTypes == LedgerType.Credit).ToList();
            return(View(model));
        }
        public IActionResult Create(BankDepositViewModel model)
        {
            BankDeposit bankDeposit = _mapper.Map <BankDeposit>(model);

            bankDeposit.CreatedDate = DateTime.Now;
            bankDeposit.Status      = 1;

            var bankDepositThirdPartyCheques = new List <BankDepositThirdPartyCheque>();

            model.ThirdPartyChequesId.ForEach(item => {
                bankDepositThirdPartyCheques.Add(new BankDepositThirdPartyCheque()
                {
                    ThirdPartyChequeId = item
                });
            });
            bankDeposit.BankDepositThirdPartyCheques = bankDepositThirdPartyCheques;
            _context.BankDeposits.Add(bankDeposit);

            var balanceSheets = _context.BalanceSheets.SingleOrDefault(c => c.BalanceSheetId == 1);

            if (balanceSheets == null)
            {
                return(Ok());
            }

            balanceSheets.InHandCash  -= bankDeposit.InHandCash;
            balanceSheets.BankBalance += bankDeposit.Cash + bankDeposit.InHandCash;
            balanceSheets.InHold      += model.ChequeTotal;

            var thirdPartyCheques = _context.ThirdPartyCheques.Where(x => model.ThirdPartyChequesId.Contains(x.ThirdPartyChequeId)).ToList();

            thirdPartyCheques.ForEach(x => x.Status = 5);

            _context.ThirdPartyCheques.UpdateRange(thirdPartyCheques);
            var flag = _context.SaveChanges();

            List <ThirdPartyChequeActionLog> actionLog = new List <ThirdPartyChequeActionLog>();

            thirdPartyCheques.ForEach(y => {
                actionLog.Add(new ThirdPartyChequeActionLog {
                    UserId = model.CreatedBy, ChequeStatusId = 5, ThirdPartyChequeId = y.ThirdPartyChequeId, ReferenceId = bankDeposit.BankDepositId
                });
            });
            _context.ThirdPartyChequeActionLogs.AddRange(actionLog);
            _context.SaveChanges();

            return(Ok(flag > 0));
        }
Example #4
0
        public static BankDepositListViewModel GetBankDepositByUser(string username)
        {
            Entities entities     = new Entities();
            var      bankDeposits = entities.Assets.Where(x => x.Username.Equals(username) &&
                                                          x.AssetType == (int)Constants.Constants.ASSET_TYPE.BANK_DEPOSIT &&
                                                          !x.DisabledDate.HasValue).OrderBy(x => x.AssetName).ToList();
            BankDepositListViewModel result = new BankDepositListViewModel();

            foreach (var bankDeposit in bankDeposits)
            {
                BankDepositViewModel viewModel = new BankDepositViewModel
                {
                    Id                = bankDeposit.Id,
                    Name              = bankDeposit.AssetName,
                    Value             = bankDeposit.Value,
                    StartDate         = bankDeposit.StartDate.Value,
                    EndDate           = bankDeposit.EndDate.Value,
                    Income            = bankDeposit.InterestRatePerX.Value == (int)Constants.Constants.INTEREST_RATE_PER.MONTH ? bankDeposit.Value * bankDeposit.InterestRate.Value / 100 : bankDeposit.Value * bankDeposit.InterestRate.Value / 1200,
                    InterestRate      = bankDeposit.InterestRate.Value / 100,
                    InterestRatePerX  = Helper.GetInterestTypePerX(bankDeposit.InterestRatePerX.Value),
                    InterestObtainWay = Helper.GetObtainWay(bankDeposit.ObtainedBy.Value),
                    PaymentPeriod     = Helper.CalculateTimePeriod(bankDeposit.StartDate.Value, bankDeposit.EndDate.Value),
                    Note              = bankDeposit.Note
                };
                viewModel.AnnualIncome = viewModel.Income * 12;
                result.BankDeposits.Add(viewModel);
            }

            result.TotalValue        = result.BankDeposits.Sum(x => x.Value);
            result.TotalIncome       = result.BankDeposits.Sum(x => x.Income);
            result.TotalAnnualIncome = result.BankDeposits.Sum(x => x.AnnualIncome);
            result.TotalInterestRate = result.TotalValue > 0 ? result.TotalAnnualIncome / result.TotalValue : 0;
            result.IsInitialized     = UserQueries.IsCompleteInitialized(username);

            return(result);
        }
 public BankDepositApproval()
 {
     InitializeComponent();
     _viewModel  = (BankDepositViewModel)LayoutRoot.DataContext;
     DataContext = _viewModel;
 }
 public ActionResult BankDeposit(BankDepositViewModel model)
 {
     if (!ModelState.IsValid)
     {
         return(RedirectToAction("BankDeposit", "Banks"));
     }
     if (model == null)
     {
         return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
     }
     else
     {
         try
         {
             bool status            = false;
             int  TransactionMethod = (int)model.TransactionMethod;
             #region Bank Deposit - Payment Method * Cash
             if (TransactionMethod == 1)
             {
                 BankDepositCashVoucher Obj = new BankDepositCashVoucher();
                 Obj.Amount           = model.Amount;
                 Obj.BankAccountId    = model.BankAccountId;
                 Obj.BankLedgerHeadId = model.BankAccountLedgerHeadId;
                 Obj.Notes            = model.Notes;
                 Obj.UserID           = User.Identity.GetUserId();
                 Obj.LedgerDate       = model.LedgerDate;
                 status = new BankDA().InsertBankDepositCashVoucher(Obj);
             }
             #endregion
             #region Bank Deposit - Payment Method * Cheque
             else if (TransactionMethod == 2)
             {
                 BankDepositChequeVoucher Obj = new BankDepositChequeVoucher();
                 Obj.Amount         = model.Amount;
                 Obj.BankAccountId  = model.BankAccountId;
                 Obj.BankOfChequeId = (int)model.BankOfChequeId;
                 Obj.ChequeNo       = model.ChequeNo;
                 Obj.AccountNo      = model.AccountNo;
                 Obj.SortCode       = model.SortCode;
                 Obj.Notes          = model.Notes;
                 Obj.UserID         = User.Identity.GetUserId();
                 Obj.LedgerDate     = model.LedgerDate;
                 Obj.ChequeStauts   = (int)ChequeStatus.Floating;
                 status             = new BankDA().InsertBankDepositChequeVoucher(Obj);
             }
             #endregion
             #region Bank Deposit - Payment Method * Credit Card
             else if (TransactionMethod == 3)
             {
                 BankDepositCreditCardVoucher Obj = new BankDepositCreditCardVoucher();
                 Obj.Amount        = model.Amount;
                 Obj.BankAccountId = model.BankAccountId;
                 Obj.BankDate      = model.BankDate;
                 Obj.CardHolder    = model.CardHolderName;
                 Obj.CardNo        = model.CreditCardNo;
                 Obj.ExtraAmount   = model.ExtraAmount;
                 Obj.LedgerDate    = model.LedgerDate;
                 Obj.LedgerHeadId  = model.BankAccountLedgerHeadId;
                 Obj.Notes         = model.Notes;
                 Obj.UserID        = User.Identity.GetUserId();
                 status            = new BankDA().InsertBankDepositCreditCardVoucher(Obj);
             }
             #endregion
             #region Bank Deposit - Payment Method * Debit Card
             else if (TransactionMethod == 4)
             {
                 BankDepositDebitCardVoucher Obj = new BankDepositDebitCardVoucher();
                 Obj.Amount        = model.Amount;
                 Obj.BankAccountId = model.BankAccountId;
                 Obj.BankDate      = model.BankDate;
                 Obj.CardHolder    = model.CardHolderName;
                 Obj.CardNo        = model.CreditCardNo;
                 Obj.ExtraAmount   = model.ExtraAmount;
                 Obj.LedgerDate    = model.LedgerDate;
                 Obj.LedgerHeadId  = model.BankAccountLedgerHeadId;
                 Obj.Notes         = model.Notes;
                 Obj.UserID        = User.Identity.GetUserId();
                 status            = new BankDA().InsertBankDepositDebitCardVoucher(Obj);
             }
             #endregion
             #region Bank Deposit - Payment Method * Direct Deposit
             else if (TransactionMethod == 5)
             {
                 BankDepositDirectDepositVoucher Obj = new BankDepositDirectDepositVoucher();
                 Obj.Amount           = model.Amount;
                 Obj.BankAccountId    = model.BankAccountId;
                 Obj.BankLedgerHeadId = model.BankAccountLedgerHeadId;
                 Obj.Notes            = model.Notes;
                 Obj.UserID           = User.Identity.GetUserId();
                 Obj.LedgerDate       = model.LedgerDate;
                 status = new BankDA().InsertBankDepositDirectDepositVoucher(Obj);
             }
             #endregion
             return(RedirectToAction("BankLedger", "Banks", new { @id = model.BankAccountId, @BankName = model.BankNames }));
         }
         catch (Exception ex)
         {
             return(RedirectToAction("BankDeposit", "Banks"));
         }
     }
 }