public ActionResult Edit(int? id) { using (var db = new ApplicationDbContext()) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } PalletGroup palletGroup = db.PalletGroups.SingleOrDefault(p => p.ID == (int)id); if (palletGroup == null) { return HttpNotFound(); } var model = new PalletGroupUpdateViewModel(); var palletDescriptors = db.PalletDescriptors.Select(p => new { ID = p.ID, Name = p.Name }).ToList(); model.PalletDescriptors = new MultiSelectList(palletDescriptors, "ID", "Name"); model.Name = palletGroup.Name; List<int> palletDescriptorIdsAsList = new List<int>(); PalletGroup palletGroupToGetPalletDescriptorsFrom = db.PalletGroups.Single(p => p.ID == (int)id); foreach (var item in palletGroupToGetPalletDescriptorsFrom.PalletDescriptors) { palletDescriptorIdsAsList.Add(item.ID); } model.PalletDescriptorID = palletDescriptorIdsAsList.ToArray(); return View(model); } }
public ActionResult Edit(PalletGroupUpdateViewModel model) { using (var db = new ApplicationDbContext()) { if (ModelState.IsValid) { List<PalletDescriptor> palletDescriptorsToAdd = new List<PalletDescriptor>(); foreach (var id in model.PalletDescriptorID) { palletDescriptorsToAdd.Add(db.PalletDescriptors.Single(p => p.ID == id)); } PalletGroup palletGroupToUpdate = db.PalletGroups.Single(p => p.ID == model.ID); palletGroupToUpdate.DateUpdated = DateTime.Now; palletGroupToUpdate.Name = model.Name; palletGroupToUpdate.PalletDescriptors = palletDescriptorsToAdd; return RedirectToAction("Index"); } return View(model); } }