Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 private void OnCloseRecipeDetailTabExecute(IRecipeDetailViewModel recipeDetailViewModel)
 {
     // TODO: Check if the Detail has changes and ask user to cancel
     RecipeDetailViewModels.Remove(recipeDetailViewModel);
 }