internal override ModelSearchResults SearchModelByDisplayName(string searchCriteria) { var searchResults = new ModelSearchResults(); searchResults.Action = Resources.SearchResultItemsMatching; searchResults.SearchCriteria = String.Format( CultureInfo.CurrentCulture, Resources.SearchResultSearchCriteria, searchCriteria); var visitor = new SearchVisitor(searchCriteria, SearchOnDisplayName); searchResults.TargetString = searchCriteria; searchResults.ElementTextToSearch = SearchOnDisplayName; if (null != ViewModel.EDMRootNode() && null != ViewModel.EDMRootNode().ConceptualModel && null != ViewModel.EDMRootNode().ConceptualModel.ModelItem) { visitor.Traverse(ViewModel.EDMRootNode().ConceptualModel.ModelItem); } if (null != ViewModel.EDMRootNode() && null != ViewModel.EDMRootNode().StorageModel && null != ViewModel.EDMRootNode().StorageModel.ModelItem) { visitor.Traverse(ViewModel.EDMRootNode().StorageModel.ModelItem); } if (null != ViewModel.EDMRootNode() && null != ViewModel.EDMRootNode().Diagrams && null != ViewModel.EDMRootNode().Diagrams.ModelItem) { visitor.Traverse(ViewModel.EDMRootNode().Diagrams.ModelItem); } searchResults.Results = visitor.SearchResults; return(searchResults); }