Beispiel #1
0
        public async Task <IActionResult> EditRecipe(int?recipeId)
        {
            var model = new EditRecipeViewModel();

            if (recipeId.HasValue)
            {
                try
                {
                    model.Recipe = await _recipeRepo.Get(recipeId.Value);

                    if (model.Recipe.Author != HttpContext.User.FindFirst(System.Security.Claims.ClaimTypes.Name).Value)
                    {
                        return(Unauthorized());
                    }
                }
                catch (Exception e)
                {
                    return(BadRequest(recipeId));
                }
            }
            var categories = await _categoryRepo.GetAllAsync();

            model.Categories = _mapper.Map <IEnumerable <CategoryDTO> >(categories);
            return(Ok(model));
        }
        public virtual async Task <IActionResult> EditRecipe(string id, EditRecipeViewModel viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(viewModel));
            }

            var recipe = await _recipeManager.GetRecipe(id, GetUserId());

            if (recipe == null)
            {
                return(GetNotFoundActionResult());
            }

            recipe.Name        = viewModel.Name;
            recipe.Enabled     = viewModel.Enabled;
            recipe.Description = viewModel.Description;

            await _recipeManager.AddOrUpdateRecipe(recipe);

            if (this.IsApi())
            {
                return(await EditRecipe(recipe.Id, (string)null));
            }
            return(RedirectToAction("EditRecipe", new { id = recipe.Id, statusMessage = "Recipe edited" }));
        }
Beispiel #3
0
        private EditRecipeViewModel ParseEditRecipeViewModel(Recipe recipe, RecipeDetails recipeDetails)
        {
            EditRecipeViewModel    returnedModel = new EditRecipeViewModel();
            IEnumerable <Category> categories    = _categoryProvider.GetCategories();

            if (recipe != null)
            {
                returnedModel.RecipeId   = recipe.RecipeId;
                returnedModel.Name       = recipe.Name;
                returnedModel.ImageUrl   = recipe.ImageUrl;
                returnedModel.CategoryId = recipe.CategoryId;
                returnedModel.Categories = new SelectList(categories, "CategoryId", "Name", returnedModel.CategoryId);
            }
            else
            {
                returnedModel.Categories = new SelectList(categories, "CategoryId", "Name");
            }

            if (recipeDetails != null)
            {
                returnedModel.CookingTime        = recipeDetails.CookingTime;
                returnedModel.CookingTemperature = recipeDetails.CookingTemperature;
                returnedModel.Description        = recipeDetails.Description;
            }

            return(returnedModel);
        }
        public ActionResult Edit(EditRecipeViewModel vm)
        {
            if (ModelState.IsValid)
            {
                var recipe = db.Recipes.Find(vm.Id);
                recipe.CategoryId       = vm.CategoryId;
                recipe.Directions       = vm.Directions;
                recipe.ModificationTime = DateTime.Now;
                recipe.Slug             = UrlService.URLFriendly(vm.Slug);
                if (vm.FeaturedImage != null)
                {
                    this.DeleteImage(recipe.PhotoPath);
                    recipe.PhotoPath = this.SaveImage(vm.FeaturedImage);
                }
                var selectedIngredients = new List <Ingredient>();
                foreach (var item in vm.IngredientId)
                {
                    selectedIngredients.Add(db.Ingredients.FirstOrDefault(x => x.Id == item));
                }
                if (selectedIngredients != recipe.Ingredients)
                {
                    recipe.Ingredients = selectedIngredients;
                }
                db.SaveChanges();
                TempData["SuccessMessage"] = "Recipe has been updated successfully.";
                return(RedirectToAction("Index"));
            }

            ViewBag.CategoryId = new SelectList(db.Categories.OrderBy(x => x.CategoryName).ToList(), "Id", "CategoryName");
            return(View(vm));
        }
        // GET: Recipes/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            /*var user = await GetCurrentUserAsync();*/

            var recipe = await _context.Recipes.FindAsync(id);

            if (recipe == null)
            {
                return(NotFound());
            }

            recipe.RecipeIngredients = _context.RecipeIngredients.Include(ing => ing.Ingredient).Where(ing => ing.RecipeId == recipe.RecipeId).ToList();

            EditRecipeViewModel viewModel = new EditRecipeViewModel(
                _context.Ingredients.ToList(),
                _context.RecipeType.ToList(),
                recipe.RecipeIngredients.ToList());


            viewModel.Recipe = recipe;

            ViewData["RecipeTypeId"] = new SelectList(_context.RecipeType, "RecipeTypeId", "RecipeTypeId", recipe.RecipeTypeId);
            ViewData["UserId"]       = new SelectList(_context.ApplicationUsers, "Id", "Id", recipe.UserId);
            return(View(viewModel));
        }
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var recipe = db.Recipes.Find(id);

            if (recipe == null)
            {
                return(HttpNotFound());
            }
            var ingredients = db.Ingredients.Select(x => new
            {
                IngredientId   = x.Id,
                IngredientName = x.IngredientName
            });

            ViewBag.Ingredients = new MultiSelectList(ingredients.ToList(), "IngredientId", "IngredientName");
            var vm = new EditRecipeViewModel
            {
                Id                   = recipe.Id,
                CategoryId           = recipe.CategoryId,
                Directions           = recipe.Directions,
                CreationTime         = recipe.CreationTime.Value,
                CurrentFeaturedImage = recipe.PhotoPath,
                ModificationTime     = recipe.ModificationTime.Value,
                Slug                 = recipe.Slug,
                Title                = recipe.Title
            };

            ViewBag.CategoryId = new SelectList(db.Categories.OrderBy(x => x.CategoryName).ToList(), "Id", "CategoryName");
            return(View(vm));
        }
Beispiel #7
0
        public ActionResult EditRecipe(int RecipeId)
        {
            var recipe = recipeService.GetRecipe(RecipeId);

            string[] ingredientsArray = JsonConvert.DeserializeObject <string[]>(recipe.Ingredients);
            recipe.Ingredients = "";
            for (int i = 0; i < ingredientsArray.Length; i++)
            {
                recipe.Ingredients += ingredientsArray[i].Trim() + "\r";
            }
            string[] instructionsArray = JsonConvert.DeserializeObject <string[]>(recipe.Instructions);
            recipe.Instructions = "";
            for (int i = 0; i < instructionsArray.Length; i++)
            {
                recipe.Instructions += instructionsArray[i].Trim() + "\r";
            }
            var model = new EditRecipeViewModel()
            {
                Category     = recipe.Category,
                CookTime     = recipe.CookTime,
                Description  = recipe.Description,
                Ingredients  = recipe.Ingredients.Trim(),
                Instructions = recipe.Instructions.Trim(),
                Name         = recipe.Name,
                Notes        = recipe.Notes,
                PrepTime     = recipe.PrepTime,
                Servings     = recipe.Servings,
                RecipeId     = recipe.RecipeId
            };

            return(View(model));
        }
        // GET: Administration/Recipes/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var recipe = await _context.Recipes.FindAsync(id);

            if (recipe == null)
            {
                return(NotFound());
            }

            var editRecipeViewModel = new EditRecipeViewModel()
            {
                Id         = recipe.Id,
                Name       = recipe.Name,
                Category   = recipe.Category,
                Details    = recipe.Details,
                Image      = recipe.Image,
                Latitude   = recipe.Latitude,
                Location   = recipe.Location,
                Longitude  = recipe.Longitude,
                Population = recipe.Population
            };

            return(View(editRecipeViewModel));
        }
Beispiel #9
0
        public IActionResult EditRecipe(EditRecipeViewModel model)
        {
            var foodItems = this.contentService.GetFoodItemsNames();

            this.ViewData["FoodItemsNames"] = foodItems.ToList();

            if (this.ModelState.IsValid)
            {
                if (model.AddFieldsCount != 0)
                {
                    for (int i = 0; i < model.AddFieldsCount; i++)
                    {
                        var newField = new EditRecipeViewModel.FoodItemInRecipeViewModel();
                        model.FoodItems.Add(newField);
                    }

                    model.AddFieldsCount = 0;

                    var reloadModeWithNewFields = this.menuService.GetMenuItems(this.GetType(), typeof(HttpGetAttribute), typeof(AuthorizeAttribute), AreaName, "OpenRecipeForEditing", model);
                    return(View("ContentMenu", reloadModeWithNewFields));
                }

                this.contentService.EditRecipe(model);
                return(RedirectToAction("Edit_Recipes",
                                        new { currentPage = model.CurrentPage, searchText = model.SearchText, initialOpen = "false" }));
            }

            var reloadModel = this.menuService.GetMenuItems(this.GetType(), typeof(HttpGetAttribute), typeof(AuthorizeAttribute), AreaName, "OpenRecipeForEditing", model);

            return(View("ContentMenu", reloadModel));
        }
Beispiel #10
0
        public EditRecipeViewModel EditRecipe(int id)
        {
            EditRecipeViewModel model = null;

            var recipe = _recipeRepository.GetRecipeById(id);

            IEnumerable <SelectItemViewModel> categoriesList = new List <SelectItemViewModel>();

            categoriesList = GetSelectCategories();

            if (recipe != null)
            {
                model = new EditRecipeViewModel
                {
                    Id                = recipe.Id,
                    RecipeName        = recipe.RecipeName,
                    RecipeImage       = recipe.RecipeImage,
                    RecipeDescription = recipe.RecipeDescription,
                    CreatedAt         = recipe.CreatedAt,
                    ModefiedAt        = recipe.ModefiedAt,
                    CookingTime       = recipe.CookingTime,
                    RecipeCategoryId  = recipe.RecipeCategoryId,
                    Categories        = categoriesList,
                    RecipeCategory    = recipe.RecipeCategory,

                    Products = recipe.RecipeProdRecords.Select(p => p.ProductId).ToList(),
                    Menus    = recipe.MenuRecipeRecords.Select(p => p.MenuId).ToList(),
                    //  Weight=recipe.RecipeProdRecords.Select(p => p.Weight).ToList()
                };
            }

            return(model);
        }
        public void Edit(EditRecipeViewModel editModel)
        {
            var recipe = recipes.FirstOrDefault(r => r.Id == editModel.Id);

            recipe.Name        = editModel.Name;
            recipe.NameOfPlate = editModel.NameOfPlate;
            recipe.Ingredients = editModel.Ingredients;
            recipe.HowToDo     = editModel.HowToDo;
        }
Beispiel #12
0
        public async Task <EditRecipeViewModel> EditBeta(int?recipeId)
        {
            var editRecipe = new EditRecipeViewModel();

            // editRecipe.Categories = _context.Categories.ToArray();
            if (recipeId != null)
            {
                editRecipe.Recipe = await _context.Recipes.Include(r => r.Ingredients).Include(r => r.Category).SingleOrDefaultAsync(r => r.RecipeId == recipeId);
            }
            return(editRecipe);
        }
        public void Edit(EditRecipeViewModel editModel)
        {
            var recipe = _context.Recipes.FirstOrDefault(r => r.Id == editModel.Id);

            recipe.Name        = editModel.Name;
            recipe.NameOfPlate = editModel.NameOfPlate;
            recipe.Ingredients = editModel.Ingredients;
            recipe.HowToDo     = editModel.HowToDo;

            _context.SaveChanges();
        }
        public IHttpActionResult UpdateRecipe(EditRecipeViewModel model)
        {
            var recipe = _recipeRepository.GetById(model.Id);

            recipe.Title       = model.Title;
            recipe.Description = model.Description;

            _recipeRepository.Update(recipe);

            return(Ok());
        }
Beispiel #15
0
        public Recipe EditRecipe(EditRecipeViewModel model)
        {
            var recipe = this.context.Recipes.Include(r => r.RecipeFoodItems).ThenInclude(rfi => rfi.FoodItem).FirstOrDefault(r => r.Id == model.Id);

            if (recipe == null)
            {
                return(null);
            }

            foreach (var foodItem in model.FoodItems)
            {
                var recipeFoodItem = recipe.RecipeFoodItems.FirstOrDefault(rfi => rfi.FoodItem.Name == foodItem.Name);

                if (recipeFoodItem != null)
                {
                    if (foodItem.AmountInGrams > 0)
                    {
                        recipeFoodItem.AmountInGrams = foodItem.AmountInGrams;
                    }
                    else
                    {
                        this.context.RecipeFoodItems.Remove(recipeFoodItem);
                    }
                }
                else
                {
                    if (foodItem.AmountInGrams > 0)
                    {
                        var newRecipeFoodItem = new RecipeFoodItem
                        {
                            Recipe        = recipe,
                            FoodItem      = this.context.FoodItems.First(fi => fi.Name == foodItem.Name),
                            AmountInGrams = foodItem.AmountInGrams
                        };
                        if (newRecipeFoodItem.FoodItem != null)
                        {
                            recipe.RecipeFoodItems.Add(newRecipeFoodItem);
                        }
                    }
                }
            }

            recipe.Name        = model.Name;
            recipe.Description = model.Description;

            if (model.NewImage != null)
            {
                string newImageLocation = this.imagesService.RecreateImage(model.NewImage, this.GetType().Name.Replace("Service", string.Empty), model.ImageLocation, model.Id);
                recipe.ImageLocation = newImageLocation;
            }

            context.SaveChanges();
            return(recipe);
        }
        public EditRecipeView()
        {
            InitializeComponent();
            WindowStartupLocation = WindowStartupLocation.CenterScreen;
            var viewModel = new EditRecipeViewModel();

            this.DataContext = viewModel;
            if (viewModel.CloseAction == null)
            {
                viewModel.CloseAction = new Action(this.Close);
            }
        }
Beispiel #17
0
        public EditRecipePage(string id)
        {
            InitializeComponent();
            BindingContext = _viewModel = new EditRecipeViewModel();

            _viewModel.Id = id;

            MessagingCenter.Subscribe <EditRecipeViewModel>(this, MessageStrings.PopOffCurrentModal, async(sender) =>
            {
                await Navigation.PopModalAsync();
            });
        }
        public ContentResult AddAjax(EditRecipeViewModel editRecipe)
        {
            int status = 1;

            IEnumerable <SelectItemViewModel> categoriesList = new List <SelectItemViewModel>();

            categoriesList = _recipeProvider.GetSelectCategories();

            editRecipe.Categories = categoriesList;

            var image     = editRecipe.PhotoUpload;
            var imageSave = WorkWithImage.CreateImage(image, 500, 400);

            if (ModelState.IsValid)
            {
                var result = _recipeProvider.EditRecipe(editRecipe);

                if (result == 0)
                {
                    ModelState.AddModelError("", "Ошибка! Невозможно сохранить! Проверьте все ли поля указаны.");
                }
                else if (result != 0)
                {
                    if (editRecipe.RecipeImage != null && editRecipe.PhotoUpload == null)
                    {
                        _recipeProvider.EditRecipe(editRecipe);
                    }
                    else if (/*editRecipe.PhotoUpload.ContentLength > 0*/ editRecipe.PhotoUpload != null)
                    {
                        // A file was uploaded
                        var    fileName   = Path.GetFileName(editRecipe.PhotoUpload.FileName);
                        string uploadPath = "~/Images/Recipe/Big/";
                        var    path       = Path.Combine(Server.MapPath(uploadPath), fileName);
                        imageSave.Save(path, ImageFormat.Jpeg);
                        editRecipe.RecipeImage = uploadPath + fileName;
                    }
                    _recipeProvider.EditRecipe(editRecipe);
                }
            }

            ViewBag.ListProducts       = _recipeProvider.GetListItemProducts();
            ViewBag.ListMenus          = _recipeProvider.GetListItemMenus();
            ViewBag.ListProductWeights = _recipeProvider.GetListWeightProducts(editRecipe.Id);

            string json = JsonConvert.SerializeObject(new
            {
                result = status,
                recipe = editRecipe,
            });

            return(Content(json, "application/json"));
        }
Beispiel #19
0
        private Recipe ParseRecipe(EditRecipeViewModel editRecipeViewModel)
        {
            Recipe recipe = new Recipe();

            if (editRecipeViewModel != null)
            {
                recipe.RecipeId   = editRecipeViewModel.RecipeId;
                recipe.Name       = editRecipeViewModel.Name;
                recipe.ImageUrl   = editRecipeViewModel.ImageUrl;
                recipe.CategoryId = editRecipeViewModel.CategoryId;
            }
            return(recipe);
        }
Beispiel #20
0
        private RecipeDetails ParseRecipeDetails(EditRecipeViewModel editRecipeViewModel)
        {
            RecipeDetails recipeDetails = new RecipeDetails();

            if (editRecipeViewModel != null)
            {
                recipeDetails.RecipeId           = editRecipeViewModel.RecipeId;
                recipeDetails.CookingTemperature = editRecipeViewModel.CookingTemperature;
                recipeDetails.CookingTime        = editRecipeViewModel.CookingTime;
                recipeDetails.Description        = editRecipeViewModel.Description;
                recipeDetails.Sequencing         = null;
            }
            return(recipeDetails);
        }
Beispiel #21
0
        public ActionResult AddOrEditRecipe(int recipeId)
        {
            Recipe              recipe        = _recipeProvider.GetRecipeById(recipeId);
            RecipeDetails       recipeDetails = _recipeProvider.GetRecipeDetailsByRecipeId(recipeId);
            EditRecipeViewModel model         = ParseEditRecipeViewModel(recipe, recipeDetails);

            if (Request.IsAjaxRequest())
            {
                return(PartialView("_AddOrEditRecipe", model));
            }
            else
            {
                return(View(model));
            }
        }
        public async Task <IActionResult> Edit(int id, [Bind("Id,Name,Location,Details,Image,ImageFile,Category,Population,Latitude,Longitude")] EditRecipeViewModel model)
        {
            if (id != model.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    var recipe = new Recipe()
                    {
                        Id         = model.Id,
                        Details    = model.Details,
                        Name       = model.Name,
                        Population = model.Population,
                        Category   = model.Category,
                        Location   = model.Location,
                        Image      = model.Image,
                        Longitude  = model.Longitude,
                        Latitude   = model.Latitude,
                    };

                    if (model.ImageFile != null)
                    {
                        recipe.Image = await _fileSaver.SaveFileToWwwFolder($"{model.Id}.jpg", model.ImageFile);
                    }

                    _context.Update(recipe);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!RecipeExists(model.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(model));
        }
Beispiel #23
0
        public async Task <IActionResult> Edit(int id)
        {
            var recipeToEdit = await _recipeService.GetAsync(id);

            var viewModel = new EditRecipeViewModel()
            {
                Id              = recipeToEdit.Id,
                Description     = recipeToEdit.Description,
                Name            = recipeToEdit.Name,
                Ingredients     = recipeToEdit.Ingredients,
                Preparation     = recipeToEdit.Preparation,
                PreparationTime = recipeToEdit.PreparationTime,
                Created         = recipeToEdit.Created,
            };

            return(View(viewModel));
        }
        public ActionResult Edit(EditRecipeViewModel editRecipe)
        {
            IEnumerable <SelectItemViewModel> categoriesList = new List <SelectItemViewModel>();

            categoriesList = _recipeProvider.GetSelectCategories();

            editRecipe.Categories = categoriesList;

            var image     = editRecipe.PhotoUpload;
            var imageSave = WorkWithImage.CreateImage(image, 500, 400);

            if (ModelState.IsValid)
            {
                var result = _recipeProvider.EditRecipe(editRecipe);

                if (result == 0)
                {
                    ModelState.AddModelError("", "Ошибка! Невозможно сохранить! Проверьте все ли поля указаны.");
                }
                else if (result != 0)
                {
                    if (editRecipe.RecipeImage != null && editRecipe.PhotoUpload == null)
                    {
                        _recipeProvider.EditRecipe(editRecipe);
                        return(RedirectToAction("Index")); /*RedirectToAction("ProductsWeight", new { id = editRecipe.Id })*/;
                    }
                    else if (/*editRecipe.PhotoUpload.ContentLength > 0*/ editRecipe.PhotoUpload != null)
                    {
                        // A file was uploaded
                        var    fileName   = Path.GetFileName(editRecipe.PhotoUpload.FileName);
                        string uploadPath = "~/Images/Recipe/Big/";
                        var    path       = Path.Combine(Server.MapPath(uploadPath), fileName);
                        imageSave.Save(path, ImageFormat.Jpeg);
                        editRecipe.RecipeImage = uploadPath + fileName;
                    }
                    _recipeProvider.EditRecipe(editRecipe);
                    return(RedirectToAction/*("ProductsWeight", new { id = editRecipe.Id })*/ ("Index"));
                }
            }

            ViewBag.ListProducts = _recipeProvider.GetListItemProducts();
            ViewBag.ListMenus    = _recipeProvider.GetListItemMenus();
            // ViewBag.ListProductWeights = _recipeProvider.GetListWeightProducts(editRecipe.Id);
            return(View(editRecipe));
        }
Beispiel #25
0
        public ActionResult EditRecipe(EditRecipeViewModel model)
        {
            try
            {
                string[] ingredientsArray = null;
                if (model.Ingredients.Contains("\r"))
                {
                    model.Ingredients = model.Ingredients.Replace('\r', ' ');
                }
                ingredientsArray = model.Ingredients.Split('\n');

                string[] instructionsArray = null;
                if (model.Instructions.Contains("\r"))
                {
                    model.Instructions = model.Instructions.Replace('\r', ' ');
                }
                instructionsArray = model.Instructions.Split('\n');

                model.Ingredients  = JsonConvert.SerializeObject(ingredientsArray);
                model.Instructions = JsonConvert.SerializeObject(instructionsArray);

                var recipe = new EditRecipeViewModel()
                {
                    Name         = model.Name,
                    Category     = model.Category,
                    CookTime     = model.CookTime,
                    Description  = model.Description,
                    Ingredients  = model.Ingredients,
                    Instructions = model.Instructions,
                    Notes        = model.Notes,
                    PrepTime     = model.PrepTime,
                    Servings     = model.Servings,
                    RecipeId     = model.RecipeId
                };

                recipeService.UpdateRecipe(recipe);
                return(RedirectToAction("RecipeDetails", "Dashboard", new { id = model.RecipeId }));
            }
            catch (Exception e)
            {
                Trace.TraceError($"Unable to edit recipe: {e.Message}");
            }
            return(RedirectToAction("MainDashboard", "Dashboard"));
        }
        public EditRecipePage(EditRecipeViewModel viewModel)
        {
            InitializeComponent();

            BindingContext = viewModel;

//            viewModel.BindErrors(NameEntry, vm => vm.Recipe.Name.IsValid);
//            viewModel.BindText(NameEntry, vm => vm.Recipe.Name.Value);
//            viewModel.BindText(ImageUrlEntry, vm => vm.Recipe.ImageUrl);
//            viewModel.BindErrors(PersonCountEntry, vm => vm.Recipe.PersonCount.IsValid);
//            viewModel.BindText(PersonCountEntry, vm => vm.Recipe.PersonCount.Value);
//            viewModel.BindValue(TextEditor, Editor.TextProperty, vm => vm.Recipe.Text);
//
//            IngredientsListView.ItemTemplate = new DataTemplate<FoodstuffAmountCell>();
//            viewModel.BindValue(IngredientsListView, ItemsView<Cell>.ItemsSourceProperty, vm => vm.IngredientViewModels);
//
//            AddIngredientButton.Clicked += async (s, e) => await viewModel.OpenAddIngredientDialog();
//            SubmitButton.Clicked += async (s, e) => await UserMessage.PopupAction(_ => viewModel.Submit());
        }
Beispiel #27
0
        public void UpdateRecipe(EditRecipeViewModel model)
        {
            var connection = new SqlConnection(DbConnectionString);

            connection.Open();
            DynamicParameters parameters = new DynamicParameters();

            parameters.Add("@RecipeId", model.RecipeId);
            parameters.Add("@Name", model.Name);
            parameters.Add("@Category", model.Category);
            parameters.Add("@CookTime", model.CookTime);
            parameters.Add("@Description", model.Description);
            parameters.Add("@Ingredients", model.Ingredients);
            parameters.Add("@Instructions", model.Instructions);
            parameters.Add("@Notes", model.Notes);
            parameters.Add("@PrepTime", model.PrepTime);
            parameters.Add("@Servings", model.Servings);
            connection.Execute("[dbo].[UpdateRecipe]", parameters, commandType: CommandType.StoredProcedure);
            connection.Close();
        }
 public uiEditRecipeForm(
     Action <string, string, RecipeCategory, IDictionary <Ingredient, int> > addRecipeDelegate,
     Action <Recipe> updateRecipeDelegate,
     Func <string, RecipeCategory> addCategoryDelegate,
     Action launchAddIngredientForm,
     EditRecipeViewModel viewModel)
 {
     _addRecipeDelegate       = addRecipeDelegate;
     _updateRecipeDelegate    = updateRecipeDelegate;
     _addCategoryDelegate     = addCategoryDelegate;
     _launchAddIngredientForm = launchAddIngredientForm;
     _viewModel = viewModel;
     InitializeComponent();
     totalIngredientsBindingSource.DataSource  = _viewModel.TotalIngredients;
     totalIngredientsDGV.DataSource            = totalIngredientsBindingSource;
     recipeIngredientsBindingSource.DataSource = _viewModel.RecipeIngredients;
     recipeIngredientsDGV.DataSource           = recipeIngredientsBindingSource;
     categoryComboBox.DataSource = _viewModel.RecipeCategories;
     PopulateRecipeDetails();
 }
Beispiel #29
0
        public async Task <IActionResult> Edit(EditRecipeViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var user = await _userManager.GetUserAsync(User);

            if (user == null)
            {
                ModelState.AddModelError("", "Błąd edycji przepisu.");
                return(View(model));
            }

            var recipe = new Recipe()
            {
                Id              = model.Id,
                Preparation     = model.Preparation,
                Name            = model.Name,
                PreparationTime = model.PreparationTime,
                Ingredients     = model.Ingredients,
                Description     = model.Description,
                Created         = model.Created,
                Updated         = DateTime.Now,
                User            = user
            };

            var result = await _recipeService.UpdateAsync(recipe);

            if (result == false)
            {
                ModelState.AddModelError("", "Błąd edycji przepisu.");
                return(View(model));
            }

            return(RedirectToAction("List", "Recipe"));
        }
Beispiel #30
0
        // GET: Recipes/Edit/5
        public async Task <IActionResult> Edit(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var editRecipeViewModel = new EditRecipeViewModel();
            var recipe = recipesRepository.GetRecipe(id.Value);

            if (recipe == null)
            {
                return(NotFound());
            }

            editRecipeViewModel.Recipe         = recipe;
            editRecipeViewModel.Name           = recipe.Name;
            editRecipeViewModel.Text           = recipe.Text;
            editRecipeViewModel.DetailedText   = recipe.DetailedText;
            editRecipeViewModel.TimeNeeded     = recipe.TimeNeeded;
            editRecipeViewModel.AllIngredients = ingredientsRepository.GetAllIngredients().Select(ing => new SelectListItem()
            {
                Text = $"{ing.Name} {ing.Unit}", Value = ing.Id.ToString()
            });
            editRecipeViewModel.AllTags = tagsRepository.GetAllTags().Select(tag => new SelectListItem()
            {
                Text = tag.Name, Value = tag.Id.ToString()
            });

            editRecipeViewModel.SelectedTags             = recipe.Tags.Select(t => t.TagId).ToArray();
            editRecipeViewModel.SelectedIngredient       = recipe.Ingredients.Select(ing => ing.IngredientId).ToArray();
            editRecipeViewModel.SelectedIngredientAmount = recipe.Ingredients.Select(ing => ing.Amount).ToArray();

            ViewData["ApplicationUserId"] = new SelectList(usersRepository.GetAllUsers(), "Id", "Id", recipe.ApplicationUserId);
            return(View(editRecipeViewModel));
        }