private List <TreeViewItemViewModel> CreateErrorResponseViewModel(ErrorResponse errorResponse)
        {
            var messages = new List <TreeViewItemViewModel>();

            if (errorResponse.IsRecoverable())
            {
                // For a recoverable error, the deepest exception contains the
                // "user friendly" error message.
                var rootError = new TextWarningItemViewModel(
                    StandarImageSourceFactory,
                    null,
                    errorResponse.GetBaseError().Message);
                messages.Add(rootError);
            }
            else
            {
                // In case of non recoverable error, display a generic "user friendly"
                // message, with nested nodes for exception messages.
                var rootError = new TextErrorItemViewModel(
                    StandarImageSourceFactory,
                    null,
                    "Error processing request. You may need to restart Visual Studio.");
                messages.Add(rootError);

                // Add all errors to the parent
                while (errorResponse != null)
                {
                    rootError.Children.Add(new TextItemViewModel(StandarImageSourceFactory, rootError, errorResponse.Message));
                    errorResponse = errorResponse.InnerError;
                }
            }
            return(messages);
        }
Example #2
0
        private List <TreeViewItemViewModel> CreateErrorResponseViewModel(ErrorResponse errorResponse)
        {
            var messages = new List <TreeViewItemViewModel>();

            if (errorResponse.IsRecoverable())
            {
                // For a recoverable error, the deepest exception contains the
                // "user friendly" error message.
                var rootError = new TextWarningItemViewModel(
                    StandarImageSourceFactory,
                    null,
                    errorResponse.GetBaseError().Message);
                messages.Add(rootError);
            }
            else
            {
                var message = ViewModel.ServerHasStarted
          ? "There was an issue sending a request to the index server."
          : "There was an issue starting the index server.";
                // In case of non recoverable error, display a generic "user friendly"
                // message, with nested nodes for exception messages.
                var rootError = new TextErrorItemViewModel(
                    StandarImageSourceFactory,
                    null,
                    message + " You may need to restart Visual Studio.");
                messages.Add(rootError);

                // Add all errors to the parent
                while (errorResponse != null)
                {
                    rootError.Children.Add(new TextItemViewModel(StandarImageSourceFactory, rootError, errorResponse.Message));
                    errorResponse = errorResponse.InnerError;
                }
            }
            TreeViewItemViewModel.ExpandNodes(messages, true);
            return(messages);
        }