public async Task <IActionResult> Payment(string submit, string stake) { TempData["msg"] = null; var walletStake = decimal.Parse(stake, new NumberFormatInfo() { NumberDecimalSeparator = "." }); if (walletStake < 10) { TempData["msg"] = "Minimum is 10 kn"; return(RedirectToAction("Index")); } var userId = HttpContext.User.FindFirst(ClaimTypes.NameIdentifier)?.Value; var user = await _accountService.GetUserById(userId); var wallet = await _walletService.GetWallet(userId); UserTransaction transaction = new UserTransaction(); List <UserTransaction> listTransactions = new List <UserTransaction>(); if (submit == "CashIn") { await _walletService.CashIn(walletStake, stake, userId); TempData["msg"] = "The transaction is successful"; } else { if ((wallet.Saldo -= walletStake) >= 0) { await _walletService.CashOut(userId, stake); TempData["msg"] = "The transaction is successful"; } else { TempData["msg"] = "You dont have enough funds for this transaction."; return(RedirectToAction("Index")); } } return(RedirectToAction("Index")); }