public ActionResult Edit(VacationDisp vacation) { if (ModelState.IsValid) { var MyVacation = db.Vacations.Find(vacation.VacationID); MyVacation.CopyData(vacation); foreach (var item in db.VacationsToSequences) { if (item.VacationID == vacation.VacationID) { db.Entry(item).State = System.Data.Entity.EntityState.Deleted; } } foreach (var item in vacation.Sequences) { if (item.Selected) { db.VacationsToSequences.Add(new VacationToSequence(vacation.VacationID, item.Id)); } } db.SaveChanges(); return(RedirectToAction("Index")); } return(View(vacation)); }
// GET: Vacations/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Vacation vacation = db.Vacations.Find(id); if (vacation == null) { return(HttpNotFound()); } var Results = from s in db.Sequences select new { s.SequenceID, s.Name, Selected = ((from vs in db.VacationsToSequences where (vs.VacationID == id) & (vs.SequenceID == s.SequenceID) select vs).Count() > 0), s }; var MyVacationDisp = new VacationDisp(); MyVacationDisp.VacationID = id.Value; MyVacationDisp.CopyData(vacation); var MyCheckBoxList = new List <SelectDisp>(); foreach (var item in Results) { MyCheckBoxList.Add(new SelectDisp(item.SequenceID, item.Selected, item.s)); } MyVacationDisp.Sequences = MyCheckBoxList; return(View(MyVacationDisp)); }