/// <summary> /// Finalize Recipe Link creation and prepare recipe VM list to observation. /// </summary> public override void FinalizeRecipeLinking() { base.FinalizeRecipeLinking(); SelectedRecipeVMWrapper = RecipeVMWrappersList.FirstOrDefault(rw => rw.IsItemEnabled); SelectedUsageVMWrapper = UsageVMWrappersList.FirstOrDefault(rw => rw.IsItemEnabled); if (RecipeVMWrappersList.Count(rw => rw.IsItemEnabled) <= 1) { MoreThanOneRecipe = Visibility.Collapsed; } if (UsageVMWrappersList.Count(rw => rw.IsItemEnabled) <= 1) { MoreThanOneUsage = Visibility.Collapsed; } RecipePrevPage = new ActionCommand(() => SelectedRecipeVMWrapper = PrevRecipe(RecipeVMWrappersList, SelectedRecipeVMWrapper)); RecipeNextPage = new ActionCommand(() => SelectedRecipeVMWrapper = NextRecipe(RecipeVMWrappersList, SelectedRecipeVMWrapper)); UsagePrevPage = new ActionCommand(() => SelectedUsageVMWrapper = PrevRecipe(UsageVMWrappersList, SelectedUsageVMWrapper)); UsageNextPage = new ActionCommand(() => SelectedUsageVMWrapper = NextRecipe(UsageVMWrappersList, SelectedUsageVMWrapper)); if (SelectedRecipeVMWrapper == null) { RecipesVisibility = Visibility.Hidden; } if (SelectedUsageVMWrapper == null) { UsageVisibility = Visibility.Hidden; } }
/// <summary> /// Finalize Recipe Link creation and prepare recipe VM list to observation. /// </summary> public virtual void FinalizeRecipeLinking() { var sortedRecipeGroups = recipeVMList.GroupBy(recipe => recipe.RecipeTypeName) .Select(group => new { Name = group.Key, Entities = group.OrderBy(r => r.TitleLower) }) .OrderBy(group => group.Name); var i = 0; foreach (var group in sortedRecipeGroups) { RecipeVMWrappersList.Add(new RecipeViewModelComboBoxWraper(null, group.Name + " (" + group.Entities.Count() + ")", false, i)); i++; foreach (var recipeVM in group.Entities) { RecipeVMWrappersList.Add( new RecipeViewModelComboBoxWraper(recipeVM, recipeVM.Title, true, i)); i++; } } var sortedUsageGroups = usageVMList.GroupBy(recipe => recipe.RecipeTypeName) .Select(group => new { Name = group.Key, Entities = group.OrderBy(r => r.TitleLower) }) .OrderBy(group => group.Name); var j = 0; foreach (var group in sortedUsageGroups) { UsageVMWrappersList.Add(new RecipeViewModelComboBoxWraper(null, group.Name + " (" + group.Entities.Count() + ")", false, j)); j++; foreach (var recipeVM in group.Entities) { UsageVMWrappersList.Add( new RecipeViewModelComboBoxWraper(recipeVM, recipeVM.Title, true, j)); j++; } } }