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); }
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); }