protected async Task ChangeSelectedWallet(WalletModel walletToSelect)
        {
            IsPageLoaded     = false;
            walletOperations = null;
            await SetSelectedWalletAsync(walletToSelect);
            await TryUpdateWalletInfoAsync();

            IsPageLoaded = true;
        }
        private async Task SetSelectedWalletAsync(WalletModel wallet)
        {
            selectedWallet = wallet;

            if (selectedWallet == null)
            {
                await StorageService.RemoveItemAsync(Configuration.WalletIdKey);
            }
            else
            {
                await StorageService.StoreItemAsync(Configuration.WalletIdKey, selectedWallet.WalletId);
            }
        }
        protected async Task ShowEditModal()
        {
            WalletModel copyWallet = new WalletModel();

            Mapper.Map(selectedWallet, copyWallet);

            SetModalParameters(copyWallet, async(w) =>
            {
                await WalletService.UpdateWalletAsync(w);
            });
            Parameters.Add(nameof(WalletForm.SubmitText), Resource.Save);

            var title = string.Format(Resource.EditTitle, selectedWallet.Name);

            await ShowModalWindowAsync <WalletForm, WalletModel>(title, async() =>
            {
                userWallets = await WalletService.GetWalletsAsync();
                await SetSelectedWalletAsync(userWallets.Single(x => x.WalletId == selectedWallet.WalletId));
                await TryUpdateWalletInfoAsync();
            });
        }