public RecipeAddViewModel GetRecipeAddViewModel() { RecipeAddViewModel vm = new RecipeAddViewModel(); vm.Recipe = new Recipe(); return(vm); }
public UIElement GetEditView(IIngredientSubject subject, DishEditDTO dishEditDTO) { IngredientListViewModel ingredientListViewModel = new IngredientListViewModel(factory, subject); RecipeAddViewModel recipeAddViewModel = new RecipeAddViewModel(factory, this, ingredientListViewModel); recipeAddViewModel.MustSelectDish = false; DishEditViewModel viewModel = new DishEditViewModel(dishEditDTO, recipeAddViewModel); DishEditView view = new DishEditView(viewModel); viewModel.DishSaveRequest += (s, e) => { using (IDishController controller = factory.CreateDishController()) { ControllerMessage controllerMessage = controller.Update(e.Data); if (controllerMessage.IsSuccess) { Notify(); } else { MessageBox.Show(controllerMessage.Message); } } }; viewModel.DishSaveRecipesRequest += (s, e) => { using (IDishController controller = factory.CreateDishController()) { ControllerMessage controllerMessage = controller.UpdateRecipes(e.Data); if (controllerMessage.IsSuccess) { Notify(); } else { MessageBox.Show(controllerMessage.Message); } } }; viewModel.DishDeleteRequest += (s, e) => { using (IDishController controller = factory.CreateDishController()) { ControllerMessage controllerMessage = controller.Delete(e.Data.OldName); if (controllerMessage.IsSuccess) { Notify(); RaiseDishDeletedEvent(e.Data.OldName); } else { MessageBox.Show(controllerMessage.Message); } } }; return(view); }
public UIElement GetAddView(IDishSubject dishSubject, IIngredientSubject ingredientSubject) { IngredientListViewModel ingredientsViewModel = new IngredientListViewModel(factory, ingredientSubject); RecipeAddViewModel viewModel = new RecipeAddViewModel(factory, dishSubject, ingredientsViewModel); RecipeAddView view = new RecipeAddView(viewModel); viewModel.RecipeAdded += (s, ea) => OnAdd(ea.Data, viewModel); return(view); }
private void Edit(DishEditDTO dishEditDTO, IIngredientSubject subject) { IngredientListViewModel ingredientListViewModel = new IngredientListViewModel(factory, subject); RecipeAddViewModel recipeAddViewModel = new RecipeAddViewModel(factory, this, ingredientListViewModel); recipeAddViewModel.MustSelectDish = false; DishEditViewModel viewModel = new DishEditViewModel(dishEditDTO, recipeAddViewModel); DishEditView view = new DishEditView(viewModel); Window window = WindowFactory.CreateByContentsSize(view); window.MinWidth = view.MinWidth; viewModel.DishSaveRequest += (s, e) => { using (IDishController controller = factory.CreateDishController()) { ControllerMessage controllerMessage = controller.Update(e.Data); if (controllerMessage.IsSuccess) { Notify(); } else { MessageBox.Show(controllerMessage.Message); } } }; viewModel.DishSaveRecipesRequest += (s, e) => { using (IDishController controller = factory.CreateDishController()) { ControllerMessage controllerMessage = controller.UpdateRecipes(e.Data); if (controllerMessage.IsSuccess) { Notify(); } else { MessageBox.Show(controllerMessage.Message); } } }; window.Show(); }
private void OnAdd(RecipeAddDTO recipe, RecipeAddViewModel viewModel) { using (IRecipeController controller = factory.CreateRecipeController()) { ControllerMessage controllerMessage = controller.Add(recipe); if (controllerMessage.IsSuccess) { viewModel.Name = String.Empty; viewModel.Description = String.Empty; viewModel.Ingredients.Clear(); Notify(); } else { MessageBox.Show(controllerMessage.Message); } } }
public DishEditViewModel(DishEditDTO dish, RecipeAddViewModel viewModel) { this.dish = dish; this.RecipeAddViewModel = viewModel; this.RemoveRecipeCommand = new DelegateCommand( () => Recipes.Remove(Recipe), obj => Recipe != null ); this.SaveRecipesCommand = new DelegateCommand( () => Save(dish), obj => CanSave() ); this.SaveCommand = new DelegateCommand( () => RaiseDishSaveRequestEvent(dish), obj => CanSave() ); this.DeleteCommand = new DelegateCommand(() => RaiseDishDeleteRequestEvent(dish)); this.Recipes = new ObservableCollection <DishRecipeEditDTO>(dish.Recipes); viewModel.RecipeAdded += (s, e) => { var addedRecipe = e.Data; if (!Recipes.Select(recipe => recipe.Name).Contains(addedRecipe.Name)) { DishRecipeEditDTO recipe = new DishRecipeEditDTO { Name = addedRecipe.Name, Description = addedRecipe.Description }; recipe.Ingredients.AddRange(addedRecipe.Ingredients); Recipes.Add(recipe); } }; }
public RecipeAddView(RecipeAddViewModel viewModel) { InitializeComponent(); this.DataContext = viewModel; }
public IActionResult AddRecipe(RecipeAddViewModel obj) { int recipeId = AddRecipeToDatabase(obj.Recipe); return(RedirectToAction("EditRecipe", new { recipeId = recipeId })); }
public IActionResult AddRecipe() { RecipeAddViewModel vm = GetRecipeAddViewModel(); return(View(vm)); }