Exemple #1
0
        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));
        }
Exemple #3
0
        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();
        }