public ActionResult Create() { //Get Permissions var v = from b in db.Permissions select new { b.ID, b.GroupName, Name = b.ControllerName + " - " + b.ActionName, Checked = false, b.OnlyAdminHidden }; v = v.Where(b => b.OnlyAdminHidden == false); v = v.OrderBy("Name asc"); var Permissions = v.ToList(); var PermissionCheckBoxList = new List <CheckBoxViewModel>(); foreach (var item in Permissions) { PermissionCheckBoxList.Add(new CheckBoxViewModel { ID = item.ID, GroupName = item.GroupName, Name = item.Name, Checked = item.Checked }); } //Add data to the SecurityTemplateViewModel SecurityTemplateViewModel stvm = new SecurityTemplateViewModel { Permissions = PermissionCheckBoxList }; return(View(stvm)); }
public ActionResult Edit(long?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } SecurityTemplate securityTemplate = db.SecurityTemplates.Where(st => st.ID == id && st.ID > 1).SingleOrDefault(); if (securityTemplate == null) { return(HttpNotFound()); } //Get Permissions var v = from b in db.Permissions select new { b.ID, b.GroupName, Name = b.ControllerName + " - " + b.ActionName, b.OnlyAdminHidden, Checked = ((from bou in db.SecurityTemplatePermissions where (bou.SecurityTemplateID == id) & (bou.PermissionID == b.ID) select bou).Count() > 0) }; v = v.Where(b => b.OnlyAdminHidden == false); v = v.OrderBy("Name asc"); var Permissions = v.ToList(); var PermissionCheckBoxList = new List <CheckBoxViewModel>(); foreach (var item in Permissions) { PermissionCheckBoxList.Add(new CheckBoxViewModel { ID = item.ID, GroupName = item.GroupName, Name = item.Name, Checked = item.Checked }); } //Add data to the SecurityTemplateViewModel SecurityTemplateViewModel stvm = new SecurityTemplateViewModel { SecurityTemplateName = securityTemplate.SecurityTemplateName, IsActive = securityTemplate.IsActive, Permissions = PermissionCheckBoxList }; return(View(stvm)); }
public ActionResult Edit([Bind(Include = "ID,SecurityTemplateName,IsActive,Permissions")] SecurityTemplateViewModel securityTemplateVM) { //Get the SecurityTemplate we were editting SecurityTemplate securityTemplate = db.SecurityTemplates.Find(securityTemplateVM.ID); if (ModelState.IsValid) { //Update the actual SecurityTemplate securityTemplate.SecurityTemplateName = securityTemplateVM.SecurityTemplateName; securityTemplate.IsActive = securityTemplateVM.IsActive; if (db.Permissions.Count() > 0) { //delete existing record relations foreach (var item in db.SecurityTemplatePermissions.Where(bu => bu.SecurityTemplateID == securityTemplateVM.ID)) { db.Entry(item).State = System.Data.Entity.EntityState.Deleted; } //Permissions Add foreach (var item in securityTemplateVM.Permissions) { if (item.Checked) { db.SecurityTemplatePermissions.Add(new SecurityTemplatePermission { SecurityTemplateID = securityTemplate.ID, PermissionID = item.ID, CreatedDate = DateTime.Now }); } } } //db.Entry(user).State = EntityState.Modified; db.SaveChanges(); Session["siteMsgTyp"] = "success"; Session["siteMsg"] = "The Security Template was modified successfully."; return(RedirectToAction("Index")); } //Get Permissions var v = from b in db.Permissions select new { b.ID, b.GroupName, Name = b.ControllerName + " - " + b.ActionName, b.OnlyAdminHidden, Checked = ((from bou in db.SecurityTemplatePermissions where (bou.SecurityTemplateID == securityTemplateVM.ID) & (bou.PermissionID == b.ID) select bou).Count() > 0) }; v = v.Where(b => b.OnlyAdminHidden == false); v = v.OrderBy("Name asc"); var Permissions = v.ToList(); var PermissionCheckBoxList = new List <CheckBoxViewModel>(); foreach (var item in Permissions) { PermissionCheckBoxList.Add(new CheckBoxViewModel { ID = item.ID, GroupName = item.GroupName, Name = item.Name, Checked = item.Checked }); } //Add data to the SecurityTemplateViewModel SecurityTemplateViewModel stvm = new SecurityTemplateViewModel { SecurityTemplateName = securityTemplateVM.SecurityTemplateName, IsActive = securityTemplateVM.IsActive, Permissions = PermissionCheckBoxList }; return(View(stvm)); }
public ActionResult Create([Bind(Include = "ID,SecurityTemplateName,IsActive,Permissions")] SecurityTemplateViewModel securityTemplateVM) { if (ModelState.IsValid) { //Create the SecurityTemplate SecurityTemplate securityTemplate = new SecurityTemplate { SecurityTemplateName = securityTemplateVM.SecurityTemplateName, IsActive = securityTemplateVM.IsActive }; db.SecurityTemplates.Add(securityTemplate); db.SaveChanges(); if (db.Permissions.Count() > 0) { //Permissions Add foreach (var item in securityTemplateVM.Permissions) { if (item.Checked) { db.SecurityTemplatePermissions.Add(new SecurityTemplatePermission { SecurityTemplateID = securityTemplate.ID, PermissionID = item.ID, CreatedDate = DateTime.Now }); } } } //db.Entry(user).State = EntityState.Modified; db.SaveChanges(); Session["siteMsgTyp"] = "success"; Session["siteMsg"] = "The Security Template was added successfully."; return(RedirectToAction("Index")); } //Get Permissions var v = from b in db.Permissions select new { b.ID, b.GroupName, Name = b.ControllerName + " - " + b.ActionName, Checked = false, b.OnlyAdminHidden }; v = v.Where(b => b.OnlyAdminHidden == false); v = v.OrderBy("Name asc"); var Permissions = v.ToList(); var PermissionCheckBoxList = new List <CheckBoxViewModel>(); foreach (var item in Permissions) { PermissionCheckBoxList.Add(new CheckBoxViewModel { ID = item.ID, GroupName = item.GroupName, Name = item.Name, Checked = item.Checked }); } //Add data to the SecurityTemplateViewModel SecurityTemplateViewModel stvm = new SecurityTemplateViewModel { Permissions = PermissionCheckBoxList }; return(View(stvm)); }