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" })); }
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)); }
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)); }
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)); }
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; }
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()); }
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); } }
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")); }
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); }
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); }
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)); }
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)); }
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()); }
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(); }
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")); }
// 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)); }