private async void DeleteAccount(object param) { var userAccount = param as UserAccount; if (userAccount == null) { return; } var userAccountViewModel = SelectedUserAccountViewModels.FirstOrDefault(a => a.UserAccount.AccountName.Equals(userAccount.AccountName)); if (userAccountViewModel != null) { Close(userAccountViewModel); } try { await accountsService.DeleteAccount(userAccount); Accounts.Remove(userAccount); Module.RemoveAccount(userAccount.AccountName); } catch (Exception ex) { ShowMessage(new Message { MessageType = MessageType.Error, Text = ex.Message }); } }
public void Close(object param) { var userAccount = param as UserAccountViewModel; if (userAccount != null) { userAccount.Dispose(); SelectedUserAccountViewModels.Remove(userAccount); } }
public void Close(object param) { if (param is UserAccountViewModel userAccount) { userAccount.Dispose(); SelectedUserAccountViewModels.Remove(userAccount); if (observables.TryGetValue(userAccount.UserAccount.AccountName, out IDisposable value)) { observables.Remove(userAccount.UserAccount.AccountName); value.Dispose(); } } }
private async void DeleteAccount(object param) { var userAccount = param as UserAccount; if (userAccount == null) { return; } var result = Dialog.ShowMessage(new MessageBoxSettings { Title = "Delete User Account", Text = $"Are you sure you want to delete {userAccount.AccountName}?", MessageType = MessageType.Question, MessageBoxButtons = MessageBoxButtons.OkCancel }); if (result.Equals(MessageBoxResult.Cancel)) { return; } var userAccountViewModel = SelectedUserAccountViewModels.FirstOrDefault(a => a.UserAccount.AccountName.Equals(userAccount.AccountName)); if (userAccountViewModel != null) { Close(userAccountViewModel); } try { IsLoading = true; await accountsService.DeleteAccountAsync(userAccount); Accounts.Remove(userAccount); Module.RemoveAccount(userAccount.AccountName); } catch (Exception ex) { ShowMessage(new Message { MessageType = MessageType.Error, Text = ex.Message }); } finally { IsLoading = false; } }