private bool SatisfiesSearchTerm(TypeViewModel typeViewModel)
 {
     return typeViewModel
         .Name.StartsWith(SearchTerm, StringComparison.InvariantCultureIgnoreCase);
 }
 private static TypeGraph CreateGraph(TypeViewModel typeViewModel)
 {
     var graph = new TypeGraph(true);
     var flattededHierarchy = typeViewModel.FlattenedHierarchy;
     graph.AddVertexRange(flattededHierarchy);
     foreach (var viewModel in flattededHierarchy)
     {
         if (viewModel.BaseType == null || viewModel == typeViewModel)
         {
             continue;
         }
         graph.AddEdge(new Edge<TypeViewModel>(viewModel, viewModel.BaseType));
     }
     return graph;
 }
 public void ShowDetails(TypeViewModel type)
 {
     TypeForDetails = type;
     OnShowDetailsRequest();
 }
 public void Show(TypeViewModel type)
 {
     CurrentType = type;
     _types = null;
     Type = type;
     Graph = CreateGraph(type);
     OnGraphChanged();
 }
 public NavigationItem(TypeViewModel type)
 {
     Type = type;
 }
 public void ShowGraph(TypeViewModel type)
 {
     Navigate(new NavigationItem(type));
 }