public async Task <IActionResult> WithdrawFromAccountFormAction(IndexModel model)
        {
            decimal amount;

            if (!decimal.TryParse(model.Withdraw.Amount, out amount))
            {
                if (model == null)
                {
                    model = new IndexModel();
                }

                model.Accounts = await _accDatabaseManager.GetAccountsAsync(User.Identity.Name);

                return(View(nameof(HomeController.Index), model));
            }

            AccountActivityResult result = await _accDatabaseManager.WithdrawAsync(model.Withdraw.AccountName, amount, User.Identity.Name);

            if (model == null)
            {
                model = new IndexModel();
            }

            model.Accounts = await _accDatabaseManager.GetAccountsAsync(User.Identity.Name);

            if (result == AccountActivityResult.AccountNotSelected)
            {
                model.ActivityMessage      = "Withdraw operation failed: account not selected.";
                model.ActivityMessageError = true;
            }

            if (result == AccountActivityResult.NotEnoughFunds)
            {
                model.ActivityMessage      = $"Withdraw operation failed: not enough funds on '{model.Withdraw.AccountName}' account.";
                model.ActivityMessageError = true;
            }
            if (result == AccountActivityResult.Success)
            {
                string curr = await _accDatabaseManager.GetAccountCurrencyAsync(model.Withdraw.AccountName, User.Identity.Name);

                await _logManager.WriteAsync(User.Identity.Name, $"{model.Withdraw.Amount} {curr} withdrawed from '{model.Withdraw.AccountName}' account.");

                model.ActivityMessage = $"Withdraw operation completed.";
            }

            return(View(nameof(HomeController.Index), model));
        }