public ActionResult Edit(int id = 0) { Document document = db.Documents.Include(d => d.Rules) .FirstOrDefault(d => d.ID == id); if (document == null) { return(HttpNotFound()); } DocumentInnerViewModel model = new DocumentInnerViewModel(); int?companyID = db.Users.Find(WebSecurity.CurrentUserId).companyID; ViewBag.department_id = new SelectList(db.Departments.Where(dep => dep.companyID == companyID), "ID", "name"); var selectedRules = document.Rules.Select(d => d.ID); ViewBag.documentTypeID = db.DocumentTypes .ToSelectListItems( t => t.name, t => t.ID.ToString(), t => t.ID == document.documentTypeID); ViewBag.documentParentID = db.Documents.ToSelectListItems( d => d.title, d => d.ID.ToString(), d => d.ID == document.documentParentID); ViewBag.create_user = new SelectList(db.Users, "ID", "name", document.createUser); ViewBag.allRules = Helper.GetRulesSelect(db); model.document = document; model.selectedRules = selectedRules.ToArray(); return(View(model)); }
public ActionResult Edit(DocumentInnerViewModel model) { if (ModelState.IsValid) { string text = model.document.documentText; string url = model.document.url; model.document.documentText = (string.IsNullOrEmpty(text)) ? "" : text; model.document.url = (string.IsNullOrEmpty(url)) ? "" : url; model.document.updateDate = DateTime.Now; model.document.companyID = (int)db.Users.Find(model.document.createUser).companyID; db.Entry(model.document).State = EntityState.Modified; db.SaveChanges(); Document document = db.Documents.Include(d => d.Rules).FirstOrDefault(d => d.ID == model.document.ID); document.Rules.Clear(); db.SaveChanges(); if (model.selectedRules != null) { foreach (int ruleId in model.selectedRules) { var rule = db.Rules.Find(ruleId); document.Rules.Add(rule); db.Entry(document).State = EntityState.Modified; db.SaveChanges(); } } return(RedirectToAction("Index")); } ViewBag.documentTypeID = new SelectList(db.DocumentTypes, "ID", "name", model.document.documentTypeID); ViewBag.documentParentID = new SelectList(db.Documents, "ID", "title", model.document.documentTypeID); ViewBag.create_user = new SelectList(db.Users, "ID", "name", model.document.createUser); ViewBag.allRules = Helper.GetRulesSelect(db); return(View(model)); }