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 })); }
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() }); }