예제 #1
0
        private EditRecipeIngridientViewModel ParseRecipeIngridient(RecipeIngridient recipeIngridient, int recipeId)
        {
            EditRecipeIngridientViewModel editRecipeIngridientViewModel = new EditRecipeIngridientViewModel();
            List <Ingridient>             ingridients       = _ingridientProvider.GetIngridients();
            List <RecipeIngridientView>   recipeIngridients = _recipeProvider.GetRecipeIngridientsByRecipeId(recipeId);

            editRecipeIngridientViewModel.RecipeId = recipeId;
            if (recipeIngridients != null)
            {
                foreach (RecipeIngridientView item in recipeIngridients)
                {
                    Ingridient ingridient = ingridients.FirstOrDefault(i => i.IngridientId == item.IngridientId);
                    if (ingridient != null)
                    {
                        ingridients.Remove(ingridient);
                    }
                }
            }

            if (recipeIngridient != null)
            {
                editRecipeIngridientViewModel.IngridientId = recipeIngridient.IngridientId;
                editRecipeIngridientViewModel.Weight       = recipeIngridient.Weight;
                editRecipeIngridientViewModel.Ingridients  = new SelectList(ingridients, "IngridientId", "Name", recipeIngridient.IngridientId);
            }
            else
            {
                editRecipeIngridientViewModel.Ingridients = new SelectList(ingridients, "IngridientId", "Name");
            }

            return(editRecipeIngridientViewModel);
        }
예제 #2
0
        private RecipeIngridient ParseRecipeIngridient(EditRecipeIngridientViewModel editRecipeIngridientViewModel)
        {
            RecipeIngridient recipeIngridient = new RecipeIngridient();

            if (editRecipeIngridientViewModel != null)
            {
                recipeIngridient.IngridientId = editRecipeIngridientViewModel.IngridientId;
                recipeIngridient.RecipeId     = editRecipeIngridientViewModel.RecipeId;
                recipeIngridient.Weight       = editRecipeIngridientViewModel.Weight;
            }
            return(recipeIngridient);
        }
예제 #3
0
        public ActionResult AddOrEditRecipeIngridient(int recipeId, int ingridientId)
        {
            RecipeIngridientView recipeIngridient = null;

            if (ingridientId != 0)
            {
                recipeIngridient = _recipeProvider.GetRecipeIngridient(recipeId, ingridientId);
            }

            EditRecipeIngridientViewModel model = ParseRecipeIngridient(recipeIngridient, recipeId);

            if (Request.IsAjaxRequest())
            {
                return(PartialView("_AddOrEditRecipeIngridient", model));
            }
            else
            {
                return(View("AddOrEditRecipeIngridient", model));
            }
        }
예제 #4
0
        public ActionResult AddOrEditRecipeIngridient(EditRecipeIngridientViewModel editRecipeIngridientViewModel)
        {
            RecipeIngridient recipeIngridient = ParseRecipeIngridient(editRecipeIngridientViewModel);

            if (ModelState.IsValid)
            {
                if (_recipeProvider.IsInsertRecipeIngridient(editRecipeIngridientViewModel.RecipeId, editRecipeIngridientViewModel.IngridientId))
                {
                    _recipeProvider.InsertRecipeIngridient(recipeIngridient);
                }
                else
                {
                    _recipeProvider.UpdateRecipeIngridient(recipeIngridient);
                }

                return(RedirectToAction("ShowIngridientsByRecipeId", new { @recipeId = editRecipeIngridientViewModel.RecipeId }));
            }
            else
            {
                editRecipeIngridientViewModel = ParseRecipeIngridient(recipeIngridient, recipeIngridient.RecipeId);
                return(View("AddOrEditRecipeIngridient", editRecipeIngridientViewModel));
            }
        }