private static void CreateCategorizedVM(MetaModel model, ViewModelStore store, SelectionHelperTarget target, List <MetaModel> handledMetaModels, List <CategorizedAdvSelectableViewModel> modelCategoryVMs) { if (!handledMetaModels.Contains(model)) { CategorizedAdvSelectableViewModel modelCategoryVM = CreateCategorizedAdvSelectableVM(model, model.Name, store, target); modelCategoryVMs.Add(modelCategoryVM); handledMetaModels.Add(model); // imported models foreach (MetaModelLibrary library in model.MetaModelLibraries) { if (library.ImportedLibrary != null) { if (library.ImportedLibrary is MetaModel) { CreateCategorizedVM(library.ImportedLibrary as MetaModel, store, target, handledMetaModels, modelCategoryVMs); } } } } else { return; } }
public static CategorizedSelectionViewModel CreateCategorizedVMWithoutImported(MetaModel model, ViewModelStore store, SelectionHelperTarget target) { // categories for main meta model as well as imported ones List <CategorizedAdvSelectableViewModel> modelCategoryVMs = new List <CategorizedAdvSelectableViewModel>(); CategorizedAdvSelectableViewModel modelCategoryVM = CreateCategorizedAdvSelectableVM(model, model.Name, store, target); modelCategoryVMs.Add(modelCategoryVM); return(new CategorizedSelectionViewModel(store, modelCategoryVMs)); }