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