// GET: Salades/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var saladeViewModel = new SaladeViewModel { Salade = db.Salades.Include(i => i.Composants).First(i => i.ID == id) }; if (saladeViewModel == null) { return(HttpNotFound()); } var allComposant = db.Composants.ToList(); saladeViewModel.AllComposant = allComposant.Select(o => new SelectListItem { Text = o.Nom, Value = o.ID.ToString() }); Salade salade = db.Salades.Find(id); if (salade == null) { return(HttpNotFound()); } return(View(saladeViewModel)); }
public ActionResult Edit(SaladeViewModel SaladeView) { if (SaladeView == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } if (ModelState.IsValid) { var Update = db.Salades .Include(i => i.Ingredients).First(i => i.ID == SaladeView.Salade.ID); if (TryUpdateModel(Update, "Salades", new string[] { "Nom", "Description", "FabricantID" })) { var newIngredients = db.Ingredients.Where( m => SaladeView.SelectedIngredients.Contains(m.Id)).ToList(); var updatedIngredients = new HashSet <int>(SaladeView.SelectedIngredients); foreach (Ingredient Ingredient in db.Ingredients) { if (!updatedIngredients.Contains(Ingredient.Id)) { Update.Ingredients.Remove(Ingredient); } else { Update.Ingredients.Add(Ingredient); } } db.Entry(Update).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } return(RedirectToAction("Index")); } ViewBag.Fabricant_ID = new SelectList(db.Fabricants, "ID", "Nom", SaladeView.Salade.Fabricant.ID); return(View(SaladeView)); }
public ActionResult Edit(SaladeViewModel saladeViewModel) { if (saladeViewModel == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } if (ModelState.IsValid) { var saladeToUpdate = db.Salades .Include(i => i.Composants).First(i => i.ID == saladeViewModel.Salade.ID); if (TryUpdateModel(saladeToUpdate, "Salade", new string[] { "Nom", "Description" })) { var newComposant = db.Composants.Where( m => saladeViewModel.SelectedComposant.Contains(m.ID)).ToList(); var updatedComposant = new HashSet <int>(saladeViewModel.SelectedComposant); foreach (Composant composant in db.Composants) { if (!updatedComposant.Contains(composant.ID)) { saladeToUpdate.Composants.Remove(composant); } else { saladeToUpdate.Composants.Add(composant); } } db.Entry(saladeToUpdate).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); } return(RedirectToAction("Index")); } return(View(saladeViewModel.Salade)); }