private async Task ExecuteSafe(Func <CancellationToken, Task> stuff, string statusBarOkText, string statusBarFailText)
        {
            IsLoadingStarted = true;
            try
            {
                _cancellationTokenSource = new CancellationTokenSource();
                await stuff(_cancellationTokenSource.Token).ConfigureAwait(false);

                SetStatusBarText(statusBarOkText);
            }
            catch (Exception ex)
            {
                SetStatusBarText(statusBarFailText);
                _dispatcher.Invoke(() =>
                {
                    var msg = $"Error while executing operation on server '{_selectedConnection.Name}': {ex.Message}";
                    _statusReports.Clear();
                    _statusReports.Add(StatusReport.CreateOperation(msg, MessageLevel.Error, OperationType.None));
                    StatusReports.Refresh();
                });
            }
            finally
            {
                IsLoadingStarted = false;
            }
        }
 private void ResetState()
 {
     _statusReports.Clear();
     StatusReports.Refresh();
     Progress      = 0;
     IsIndetermine = false;
 }
 private void ExecuteClearSearch()
 {
     SearchText = string.Empty;
     StatusReports.Refresh();
 }