public IActionResult Deposit(TransactionDepositViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var trans   = new Transaction();
                var account = _repository.GetAccountById(viewModel.AccountId);

                trans.Balance           = account.Balance + viewModel.AmountToDeposit;
                trans.AccountId         = account.AccountId;
                trans.Date              = DateTime.Now.Date;
                trans.Operation         = "Credit in Cash";
                trans.Type              = "Credit";
                trans.Symbol            = "";
                trans.Amount            = viewModel.AmountToDeposit;
                trans.AccountNavigation = account;

                account.Balance += viewModel.AmountToDeposit;
                account.Transactions.Add(trans);

                _repository.UpdateAccount(account);

                return(RedirectToAction("Index"));
            }

            return(View(viewModel));
        }
 public IActionResult Deposit(TransactionDepositViewModel model)
 {
     if (!ModelState.IsValid)
     {
         return(View(model));
     }
     ;
     _service.Deposit(model);
     return(RedirectToAction("ViewCustomer", "Customer", new { id = model.CustomerId }));
 }
        public IActionResult Deposit(int accountId, int customerId)
        {
            var viewModel = new TransactionDepositViewModel
            {
                AccountId  = accountId,
                Balance    = _service.GetBalance(accountId),
                CustomerId = customerId
            };

            return(View(viewModel));
        }
        public void Deposit_Amount_Plus_Balance_With_Sum_Higher_Then_Or_Equal_OneTrillion_Should_Return_One_ErrorMessage()
        {
            TransactionDepositViewModel model = new TransactionDepositViewModel
            {
                AccountId     = 1,
                CustomerId    = 1,
                Balance       = 20000m,
                DepositAmount = 999999980000m
            };

            var errorcount = model.Validate(validationContext).Count();

            Assert.AreEqual(1, errorcount);
        }
        public void Deposit_Amount_LessOrEqual_Zero_Should_Return_One_ErrorMessage()
        {
            TransactionDepositViewModel model = new TransactionDepositViewModel
            {
                AccountId     = 1,
                CustomerId    = 1,
                Balance       = 20000m,
                DepositAmount = 0m
            };

            var errorcount = model.Validate(validationContext).Count();

            Assert.AreEqual(1, errorcount);
            Assert.GreaterOrEqual(model.DepositAmount, 0);
        }
        public void Deposit(TransactionDepositViewModel model)
        {
            _transactionRepository.PostTransaction(new Transactions
            {
                AccountId = model.AccountId,
                Amount    = model.DepositAmount,
                Balance   = model.Balance + model.DepositAmount,
                Date      = DateTime.Now,
                Type      = "Credit",
                Operation = "Credit in Cash"
            });
            var account = _accountRepository.GetAccount(model.AccountId);

            account.Balance = account.Balance + model.DepositAmount;

            _accountRepository.UpdateAccount(account);
        }
        public IActionResult Deposit()
        {
            var viewModel = new TransactionDepositViewModel();

            return(View(viewModel));
        }