public MainViewModel( IIngredientListViewModel ingredientListViewModel, IIngredientDetailViewModel ingredientDetailViewModel, IRecipeListViewModel recipeListViewModel, IRecipeDetailViewModel recipeDetailViewModel, IMediator mediator, IFactory <IRecipeDetailViewModel> recipeDetailViewModelFactory, IFactory <IIngredientDetailViewModel> ingredientDetailViewModelFactory) { _recipeDetailViewModelFactory = recipeDetailViewModelFactory; _ingredientDetailViewModelFactory = ingredientDetailViewModelFactory; IngredientListViewModel = ingredientListViewModel; IngredientDetailViewModel = ingredientDetailViewModel; RecipeListViewModel = recipeListViewModel; RecipeDetailViewModel = recipeDetailViewModel; CloseRecipeDetailTabCommand = new RelayCommand(OnCloseRecipeDetailTabExecute); CloseIngredientDetailTabCommand = new RelayCommand(OnCloseIngredientDetailTabExecute); mediator.Register <NewMessage <RecipeWrapper> >(OnRecipeNewMessage); mediator.Register <NewMessage <IngredientWrapper> >(OnIngredientNewMessage); mediator.Register <SelectedMessage <RecipeWrapper> >(OnRecipeSelected); mediator.Register <SelectedMessage <IngredientWrapper> >(OnIngredientSelected); mediator.Register <DeleteMessage <IngredientWrapper> >(OnIngredientDeleted); mediator.Register <DeleteMessage <RecipeWrapper> >(OnRecipeDeleted); }
private void OnCloseIngredientDetailTabExecute(IIngredientDetailViewModel ingredientDetailViewModel) { // TODO: Check if the Detail has changes and ask user to cancel IngredientDetailViewModels.Remove(ingredientDetailViewModel); }