public ActionResult UpdateIngredients(IngredientListViewModel ingredients)
        {
            List <IngredientsRecipeBL> ingredientList = new List <IngredientsRecipeBL>();

            foreach (var i in ingredients.ListIngredients)
            {
                ingredientList.Add(new IngredientsRecipeBL()
                {
                    Name                = i.Name,
                    Quantity            = i.Quantity,
                    RecipeID            = ingredients.RecipeID,
                    IngredientID        = i.IngredientID,
                    IngredientsRecipeID = i.IngredientRecipeID
                });
            }

            foreach (var i in ingredientList)
            {
                ingredientService.Update(i);
            }

            return(RedirectToAction("Update", "Instructions", new InstructionsListViewModel
            {
                RecipeID = ingredients.RecipeID
            }));
        }
        public IngredientSelectorPage()
        {
            NavigationPage.SetHasNavigationBar(this, false);
            InitializeComponent();

            BindingContext = viewModel = new IngredientListViewModel();
        }
        public ActionResult AddIngredients(IngredientListViewModel ingredients)
        {
            List <IngredientsRecipeBL> ingredientList = new List <IngredientsRecipeBL>();

            foreach (var i in ingredients.ListIngredients)
            {
                ingredientList.Add(new IngredientsRecipeBL()
                {
                    Quantity = i.Quantity,
                    Name     = i.Name
                });
            }

            foreach (var i in ingredientList)
            {
                var id = ingredientService.CheckIfIngredientExists(i.Name);
                ingredientService.InsertIngredientForRecipe(ingredients.RecipeID, id, i.Quantity);
            }

            return(RedirectToAction("Add", "Instructions", new InstructionsListViewModel
            {
                NrOfInstructions = ingredients.NrOfInstructions,
                RecipeID = ingredients.RecipeID
            }));
        }
        public RecipeAddViewModel(IControllerFactory factory, IDishSubject subject, IngredientListViewModel ingredientsViewModel)
        {
            this.factory        = factory;
            this.recipe         = new RecipeAddDTO();
            this.MustSelectDish = true;

            this.SaveCommand   = new DelegateCommand(Save, CanSave);
            this.RemoveCommand = new DelegateCommand(
                () => Ingredients.Remove(IngredientPortion),
                obj => IngredientPortion != null);

            this.IngredientsViewModel = ingredientsViewModel;

            this.Dishes      = new ObservableCollection <DishDisplayDTO>();
            this.Ingredients = new ObservableCollection <IngredientPortion>();

            ingredientsViewModel.IngredientSelected += (s, e) =>
            {
                string ingredientName = e.Data.Name;
                if (!Ingredients.Any(ingredientPortion => ingredientPortion.Ingredient == ingredientName))
                {
                    Ingredients.Add(new IngredientPortion {
                        Ingredient = ingredientName, Portion = Portion
                    });
                }

                Portion = String.Empty;
            };

            subject.Subscribe(this);
            Update();
        }
Example #5
0
        // GET: Directions
        public PartialViewResult Edit(int recipeId)
        {
            List <IngredientViewModel> ingredients = (_repo.GetIngredients())
                                                     .ProjectTo <IngredientViewModel>()
                                                     .Where(s => s.RecipeId == recipeId)
                                                     .ToList();

            if (ingredients == null || ingredients.Count == 0)
            {
                ingredients = new List <IngredientViewModel>();
                ingredients.Add(new IngredientViewModel());
            }
            else if (TempData["AddIngredient"] != null && (bool)TempData["AddIngredient"])
            {
                ingredients.Add(new IngredientViewModel());
            }
            TempData["AddIngredient"] = false;
            IngredientListViewModel vm = new IngredientListViewModel()
            {
                Items    = ingredients,
                RecipeId = recipeId
            };

            return(PartialView("EditList", vm));
        }
Example #6
0
        public LidlPage()
        {
            InitializeComponent();

            ResourcesController.CurrentSubSite = ResourcesController.SubSites.Lidl;
            BindingContext = viewModel = new IngredientListViewModel();
        }
Example #7
0
        public ActionResult Index()
        {
            var ingredients = this.manager.GetAll();
            var model       = new IngredientListViewModel(ingredients.ToList());

            return(View(model));
        }
Example #8
0
        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);
        }
Example #9
0
 private void RemoveIngredient_Click(object sender, RoutedEventArgs e)
 {
     if (sender is Button button && button.DataContext is Ingredient ingredient)
     {
         IngredientListViewModel vm = DataContext as IngredientListViewModel;
         App.AvailableIngredients.Remove(ingredient);
         vm.ForceUpdateList();
     }
 }
Example #10
0
        /// <summary>
        /// Executes the View for Adjuncts
        /// </summary>
        public ViewResult Adjuncts()
        {
            var adjuncts  = this.RecipeDataService.GetUsableIngredients <Adjunct>(null).OrderBy(x => x.Name).ThenBy(x => x.Name).ToList();
            var topTenIds = this.RecipeDataService.GetTopAdjunctIds();

            var model = new IngredientListViewModel <Adjunct>(this.IngredientCategorizer.Categorize(adjuncts), topTenIds);

            return(View(model));
        }
Example #11
0
        /// <summary>
        /// Executes the View for Hops
        /// </summary>
        public ViewResult Hops()
        {
            var hops      = this.RecipeDataService.GetUsableIngredients <Hop>(null).OrderBy(x => x.Name).ThenBy(x => x.Name).ToList();
            var topTenIds = this.RecipeDataService.GetTopHopIds();

            var model = new IngredientListViewModel <Hop>(this.IngredientCategorizer.Categorize(hops), topTenIds);

            return(View(model));
        }
Example #12
0
        /// <summary>
        /// Executes the View for Fermentables
        /// </summary>
        public ViewResult Fermentables()
        {
            var fermentables = this.RecipeDataService.GetUsableIngredients <Fermentable>(null).OrderBy(x => x.Lovibond).ThenBy(x => x.Name).ToList();
            var topTenIds    = this.RecipeDataService.GetTopFermentableIds();

            var model = new IngredientListViewModel <Fermentable>(this.IngredientCategorizer.Categorize(fermentables), topTenIds);

            return(View(model));
        }
		/// <summary>
		/// Executes the View for Adjuncts
		/// </summary>
		public ViewResult Adjuncts()
		{
			var adjuncts = this.RecipeDataService.GetUsableIngredients<Adjunct>(null).OrderBy(x => x.Name).ThenBy(x => x.Name).ToList();
			var topTenIds = this.RecipeDataService.GetTopAdjunctIds();

			var model = new IngredientListViewModel<Adjunct>(this.IngredientCategorizer.Categorize(adjuncts), topTenIds);

			return View(model);
		}
		/// <summary>
		/// Executes the View for Hops
		/// </summary>
		public ViewResult Hops()
		{
			var hops = this.RecipeDataService.GetUsableIngredients<Hop>(null).OrderBy(x => x.Name).ThenBy(x => x.Name).ToList();
			var topTenIds = this.RecipeDataService.GetTopHopIds();

			var model = new IngredientListViewModel<Hop>(this.IngredientCategorizer.Categorize(hops), topTenIds);

			return View(model);
		}
		/// <summary>
		/// Executes the View for Fermentables
		/// </summary>
		public ViewResult Fermentables()
		{
			var fermentables = this.RecipeDataService.GetUsableIngredients<Fermentable>(null).OrderBy(x => x.Lovibond).ThenBy(x => x.Name).ToList();
			var topTenIds = this.RecipeDataService.GetTopFermentableIds();

			var model = new IngredientListViewModel<Fermentable>(this.IngredientCategorizer.Categorize(fermentables), topTenIds);

			return View(model);
		}
Example #16
0
 private void ToggleSearch_Manage_Click(object sender, RoutedEventArgs e)
 {
     topCardTransitioner.SelectedIndex = topCardTransitioner.SelectedIndex == 0 ? 1 : 0;
     if (topCardTransitioner.SelectedIndex == 0)
     {
         IngredientListViewModel vm = DataContext as IngredientListViewModel;
         vm.ShowFiltered = false;
     }
 }
        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);
        }
Example #18
0
        public IActionResult Index()
        {
            var ingredientList = _ingredientData.GetIngredientByName("").ToList();
            var viewModel      = new IngredientListViewModel
            {
                Ingredients = ingredientList
            };


            return(View(viewModel));
        }
Example #19
0
        private void AddIngredient_Click(object sender, RoutedEventArgs e)
        {
            IngredientListViewModel vm = DataContext as IngredientListViewModel;

            if (!vm.AvailableIngredients.Any(x => x.Name.Equals(vm.NewIngredientName, StringComparison.InvariantCultureIgnoreCase)))
            {
                App.AvailableIngredients.Add(new Ingredient(vm.NewIngredientName));
                vm.NewIngredientName = "";
                vm.ForceUpdateList();
            }
        }
Example #20
0
        public async Task <IActionResult> List()
        {
            var ingredients = await _ingredientFacade.GetAllAsync();

            var ingredientListViewModel = new IngredientListViewModel
            {
                Ingredients = ingredients
            };

            return(View(ingredientListViewModel));
        }
        private void ListBox_MouseDoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e)
        {
            IngredientListViewModel viewModel = this.DataContext as IngredientListViewModel;

            if (viewModel != null)
            {
                if (viewModel.SelectCommand.CanExecute(null))
                {
                    viewModel.SelectCommand.Execute(null);
                }
            }
        }
Example #22
0
        // GET: Ingredients
        public async Task <ActionResult> Index()
        {
            var ingredients = (await _ingredientService.GetAll(new PagedAndSortedResultRequestDto {
                MaxResultCount = int.MaxValue
            })).Items;
            var facts       = (await _nutritionFactService.GetAllDefault()).Items;

            var vm = new IngredientListViewModel()
            {
                Ingredients    = ingredients,
                NutritionFacts = facts
            };

            return(View(vm));
        }
        // GET: Ingredients
        public async Task <ActionResult> Index()
        {
            var ingredients = (await _ingredientService.GetAll(new PagedAndSortedResultRequestDto {
                MaxResultCount = int.MaxValue
            })).Items
                              .Where(i => i.Status == ApprovalStatus.Pending).ToList(); // TODO: move to appservice
            var facts = (await _nutritionFactService.GetAllDefault()).Items;

            var vm = new IngredientListViewModel()
            {
                Ingredients    = ingredients,
                NutritionFacts = facts
            };

            return(View(vm));
        }
Example #24
0
        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();
        }
        public ActionResult Add(IngredientListViewModel data)
        {
            var ingredientListModel = new IngredientListViewModel()
            {
                RecipeID         = data.RecipeID,
                NrOfIngredients  = data.NrOfIngredients,
                NrOfInstructions = data.NrOfInstructions
            };

            for (int i = 0; i < ingredientListModel.NrOfIngredients; i++)
            {
                ingredientListModel.ListIngredients.Add(new IngredientViewModel());
            }


            return(View(ingredientListModel));
        }
Example #26
0
        private void AddIngredients_Click(object sender, RoutedEventArgs e)
        {
            IngredientListViewModel vm = DataContext as IngredientListViewModel;

            string[] ingredients = vm.IngredientListRaw.Replace("\r\n", "\n").Replace('\r', '\n').Split('\n');

            foreach (string ingredient in ingredients)
            {
                if (!vm.AvailableIngredients.Any(x => x.Name.Equals(ingredient, StringComparison.InvariantCultureIgnoreCase)))
                {
                    App.AvailableIngredients.Add(new Ingredient(ingredient));
                }
            }

            vm.IngredientListRaw = "";
            vm.ForceUpdateList();
        }
        public ActionResult SaveIngredient(IngredientListViewModel vm)
        {
            foreach (IngredientViewModel item in vm.Items)
            {
                Ingredient e = Mapper.Map <IngredientViewModel, Ingredient>(item);
                e.RecipeId = vm.RecipeId;
                if (e.Id == 0)
                {
                    _repo.InsertIngredient(e);
                }
                else
                {
                    _repo.UpdateIngredient(e);
                }
            }

            return(RedirectToAction("details", new { id = vm.RecipeId }));
        }
Example #28
0
        private void Search_Click(object sender, RoutedEventArgs e)
        {
            IngredientListViewModel vm = DataContext as IngredientListViewModel;
            List <Ingredient>       filteredIngredients = new List <Ingredient>();

            foreach (Ingredient ingredient in App.AvailableIngredients)
            {
                if (vm.SelectedCategory != IngredientCategory.All)
                {
                    if (vm.SelectedCategory == ingredient.IngredientCategory)
                    {
                        if (!string.IsNullOrWhiteSpace(vm.IngredientSearch))
                        {
                            if (ingredient.Name.ToLower().Contains(vm.IngredientSearch.ToLower()))
                            {
                                filteredIngredients.Add(ingredient);
                            }
                        }
                        else
                        {
                            filteredIngredients.Add(ingredient);
                        }
                    }
                }
                else if (!string.IsNullOrWhiteSpace(vm.IngredientSearch))
                {
                    if (ingredient.Name.ToLower().Contains(vm.IngredientSearch.ToLower()))
                    {
                        filteredIngredients.Add(ingredient);
                    }
                }
                else
                {
                    filteredIngredients.Add(ingredient);
                }
            }

            vm.SetFilteredIngredients(filteredIngredients);
        }
        public ActionResult Update(IngredientListViewModel ingredientList)
        {
            var ingredientsBL = ingredientService.GetAllIngredientsForRecipe(ingredientList.RecipeID);

            var ingredients = new IngredientListViewModel();

            foreach (var i in ingredientsBL)
            {
                string name = ingredientService.GetNameForIngredientID(i.IngredientID);
                ingredients.ListIngredients.Add(new IngredientViewModel()
                {
                    IngredientID       = i.IngredientID,
                    Name               = name,
                    Quantity           = i.Quantity,
                    IngredientRecipeID = i.IngredientsRecipeID
                });
            }

            ingredients.NrOfIngredients = ingredientsBL.Count();
            ingredients.RecipeID        = ingredientList.RecipeID;

            return(View(ingredients));
        }
Example #30
0
        private void IngredientCategory_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            IngredientListViewModel vm = DataContext as IngredientListViewModel;

            if (sender is ComboBox comboBox && comboBox.SelectedItem is IngredientCategory category)
            {
                Ingredient ingredient = comboBox.DataContext as Ingredient;
                switch (category)
                {
                case IngredientCategory.Alcohol:
                case IngredientCategory.Liquid:
                case IngredientCategory.Oil:
                case IngredientCategory.Sauces:
                    ingredient.MeasurementType = Unit.Milliliters;
                    break;

                case IngredientCategory.Flour:
                case IngredientCategory.Rice:
                case IngredientCategory.Bread:
                    ingredient.MeasurementType = Unit.Gram;
                    break;
                }
            }
        }
Example #31
0
 public IngredientListView(IngredientListViewModel ingredientListViewModel)
     : base(ingredientListViewModel)
 {
     InitializeComponent();
 }
 public IngredientViewController(IControllerFactory factory)
     : base(factory)
 {
     listViewModel = new IngredientListViewModel(factory, this);
 }
Example #33
0
        public IngredientListView()
        {
            this.InitializeComponent();

            Model = new IngredientListViewModel();
        }