public ActionResult SaveAdminPrivilege(SelectEntityRolesViewModel model) { PermissionContext db = new PermissionContext(LogggedInUser); if (!((CustomPrincipal)User).IsAdmin) { return(RedirectToAction("Index", "Home")); } if (ModelState.IsValid) { foreach (var ent in model.privileges) { var list = db.AdminPrivileges.FirstOrDefault(q => q.RoleName == model.RoleName && ent.AdminFeature == q.AdminFeature); PermissionAdminPrivilege permission = (list != null ? list : new PermissionAdminPrivilege()); permission.IsAllow = ent.IsAllow; permission.IsEdit = ent.IsEdit; permission.IsAdd = ent.IsAdd; permission.IsDelete = ent.IsDelete; permission.AdminFeature = ent.AdminFeature; permission.RoleName = ent.RoleName; if (list == null) { db.AdminPrivileges.Add(permission); } db.SaveChanges(); } } return(RedirectToAction("Index", new { RoleName = model.RoleName })); // return Json("FROMPAGE", "application/json", System.Text.Encoding.UTF8, JsonRequestBehavior.AllowGet); }
// GET: /Permission/ public ActionResult Index(string RoleName) { if (!((CustomPrincipal)User).CanViewAdminFeature("RoleEntityPermission")) { return(RedirectToAction("Index", "Home")); } var Db = new ApplicationDbContext(); var roles = Db.Roles; var model = new SelectEntityRolesViewModel(RoleName); //var adminfeaturelist = new List<PermissionAdminPrivilege>(); //foreach (var item in Enum.GetValues(typeof(AdminFeatures))) //{ // var obj = new PermissionAdminPrivilege(); // obj.RoleName = RoleName; // obj.IsAllow = false; // obj.AdminFeature = item.ToString(); // adminfeaturelist.Add(obj); //} //model.privileges = adminfeaturelist; return(View(model)); //return View(db.Permissions.ToList()); }
public ActionResult SavePermission(SelectEntityRolesViewModel model) { PermissionContext db = new PermissionContext(LogggedInUser); if (!((CustomPrincipal)User).CanEditAdminFeature("RoleEntityPermission")) { return(RedirectToAction("Index", "Home")); } if (ModelState.IsValid) { //var idManager = new IdentityManager(); foreach (var ent in model.Entities) { var list = db.Permissions.FirstOrDefault(q => q.RoleName == model.RoleName && ent.EntityName == q.EntityName); //db.Permissions.RemoveRange(list); Permission permission = (list != null ? list : new Permission()); permission.CanAdd = ent.CanAdd; permission.CanDelete = ent.CanDelete; permission.CanView = ent.CanView; permission.CanEdit = ent.CanEdit; permission.IsOwner = ent.IsOwner; permission.SelfRegistration = ent.SelfRegistration; permission.UserAssociation = ent.UserAssociation; permission.EntityName = ent.EntityName; permission.RoleName = model.RoleName; //code for verb action security permission.Verbs = ent.Verbs; // if (list == null) { db.Permissions.Add(permission); } db.SaveChanges(); } return(Json("FROMPAGE", "application/json", System.Text.Encoding.UTF8, JsonRequestBehavior.AllowGet)); //return RedirectToAction("Index", "Admin"); } return(View()); }