Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }