Пример #1
0
        public async Task <IActionResult> Withdraw(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }
            var termD = await _TermDepositRepo.Get(id);

            if (termD == null)
            {
                return(NotFound());
            }
            TDWithdrawlVM TDWVM = new TDWithdrawlVM {
                Accounts     = await _AcctRepo.Get(UserManager.GetUserId(User)),
                Withdrawn    = termD.Withdrawn,
                maturityDate = termD.DateCreated.AddYears(termD.TermYears)
            };

            return(View(TDWVM));
        }
Пример #2
0
        public async Task <IActionResult> Withdraw(int id, [Bind("WithdrawlToAccount, AccountID, Withdrawn")] TDWithdrawlVM TDWVM)
        {
            TermDeposit termD = await _TermDepositRepo.Get(id);

            if (ModelState.IsValid)
            {
                try
                {
                    if (TDWVM.WithdrawlToAccount)
                    {
                        var account = await _AcctRepo.Get(TDWVM.AccountID);

                        await _TermDepositRepo.Withdraw(termD);

                        await _AcctRepo.TDDeposit(account, termD.WithdrawlAmount, termD.Id);
                    }
                    else
                    {
                        await _TermDepositRepo.Withdraw(termD);
                    }
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TermDepositExists(id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(TDWVM));
        }