コード例 #1
0
        public IActionResult Transfer(TransferViewModel transferViewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(transferViewModel));
            }

            var userId  = User.FindFirst(ClaimTypes.NameIdentifier).Value;
            var account = onlineBankingDbContext.Accounts.FirstOrDefault(u => u.UserId == Guid.Parse(userId));
            AddTransferModel addTransferModel = new AddTransferModel()
            {
                Amount              = (decimal)transferViewModel.Amount,
                Description         = transferViewModel.Description,
                SourceAccountNumber = account.Number,
                TargetAccountNumber = transferViewModel.BeneficiaryAccountNumber
            };
            var result = transactionService.AddTransaction(addTransferModel);

            return(RedirectToAction("Confirm", new { transactionId = result.Data }));
        }
コード例 #2
0
        public Result <string> AddTransaction(AddTransferModel addTransferModel)
        {
            Transaction transaction = new Transaction()
            {
                Id              = Guid.NewGuid(),
                Amount          = addTransferModel.Amount,
                Description     = addTransferModel.Description,
                SourceAccount   = addTransferModel.SourceAccountNumber,
                TargetAccount   = addTransferModel.TargetAccountNumber,
                Type            = TransactionType.Debit,
                Status          = TransctionStatus.Pending,
                TransactionDate = DateTime.Now
            };

            dbContext.Transactions.Add(transaction);
            dbContext.SaveChanges();
            return(new Result <string>()
            {
                IsSuccessFul = true, Data = transaction.Id.ToString()
            });
        }