private async void ExecuteTransferToSelectedAccount(object parameter) { lbl_updatingBallanceVisibility = Visibility.Visible; try { await Task.Run(() => { changingBallanceTasksQueue.Enqueue(new object()); amountManager.Transfer(selectedAccount.Name, _cbo_accountToTransferSelectedItem, transferAmount); }); } catch (Exception ex) { MessageBox.Show("Could not perform this operation: " + ex.Message); } finally { changingBallanceTasksQueue.Dequeue(); if (changingBallanceTasksQueue.Count == 0) { FetchAccountsFromApi(false); selectedAccountBallanceText = selectedAccount.Ballance.ToString(); ExecuteTransferToSelectedAccountCommand.RaiseCanExecuteChanged(null); lbl_updatingBallanceVisibility = Visibility.Hidden; } } }
private void CheckCanExecuteMethods() { ExecuteDeleteYourAccountCommand.RaiseCanExecuteChanged(null); ExecuteTopUpAccountCommand.RaiseCanExecuteChanged(null); ExecuteTransferToSelectedAccountCommand.RaiseCanExecuteChanged(null); }