private void DeleteAccountCallback(MessageInteraction interaction) { if (interaction.Response != MessageResponse.Yes) { IsDone?.Invoke(this, new MacroCommandIsDoneEventArgs(ResponseStatus.Cancel)); return; } if (_accountsProvider.Settings.DropboxAccounts.Contains(_currentAccount)) { _accountsProvider.Settings.DropboxAccounts.Remove(_currentAccount); } foreach (var profile in _usedInProfilesList) { profile.DropboxSettings.AccountId = ""; profile.DropboxSettings.Enabled = false; profile.ActionOrder.Remove(nameof(DropboxSettings)); } try { _dropboxService.RevokeToken(_currentAccount.AccessToken); } catch (Exception) { // ignored } IsDone?.Invoke(this, new MacroCommandIsDoneEventArgs(ResponseStatus.Success)); }
public void Execute_UserAppliesInteraction_DropboxServiveRevokeTokenThrowsException_ExceptionIsCatched() { _dropboxService.RevokeToken(Arg.Do <string>(s => { throw new Exception(); })); _interactionRequest.RegisterInteractionHandler <MessageInteraction>(i => i.Response = MessageResponse.Yes); Assert.DoesNotThrow(() => _dropboxAccountRemoveCommand.Execute(_usedAccount)); }
private void RemoveDropboxAccount(object obj) { var currentSelectedAccount = DropboxAccounts.FirstOrDefault(item => item.AccountId == CurrentProfile.DropboxSettings.AccountId); if (currentSelectedAccount != null) { DropboxAccounts.Remove(currentSelectedAccount); var account = Accounts.DropboxAccounts.FirstOrDefault(); CurrentProfile.DropboxSettings.AccountId = account == null ? "" : account.AccountId; _dropboxService.RevokeToken(currentSelectedAccount.AccessToken); RaisePropertyChanged(nameof(Accounts)); } var collectionView = CollectionViewSource.GetDefaultView(DropboxAccounts); collectionView.MoveCurrentToLast(); }