コード例 #1
0
        public void Update(List <PagePermissionViewModel> pagePermissions)
        {
            foreach (var pagePermission in pagePermissions)
            {
                var controllerActionPermission = _appDbContext.ControllerActionPermissions.Find(pagePermission.ControllerActionId, pagePermission.RoleId);

                if (pagePermission.CanAccess)
                {
                    if (controllerActionPermission == null)
                    {
                        //create
                        controllerActionPermission = new ControllerActionPermission
                        {
                            ControllerActionId = pagePermission.ControllerActionId,
                            RoleId             = pagePermission.RoleId
                        };
                        _appDbContext.ControllerActionPermissions.Add(controllerActionPermission);
                    }
                }
                else
                {
                    if (controllerActionPermission != null)
                    {
                        //delete
                        _appDbContext.ControllerActionPermissions.Remove(controllerActionPermission);
                    }
                }
            }
            _appDbContext.SaveChanges();
        }
コード例 #2
0
        public ActionResult PagePermission(List <PagePermissionModel> pagePermissions)
        {
            foreach (var pagePermission in pagePermissions)
            {
                var controllerActionPermission = context.ControllerActionPermissions.Find(pagePermission.ControllerActionId, pagePermission.RoleId);

                if (pagePermission.CanAccess)
                {
                    if (controllerActionPermission == null)
                    {
                        //create
                        controllerActionPermission = new ControllerActionPermission
                        {
                            ControllerActionId = pagePermission.ControllerActionId,
                            RoleId             = pagePermission.RoleId
                        };
                        context.ControllerActionPermissions.Add(controllerActionPermission);
                    }
                }
                else
                {
                    if (controllerActionPermission != null)
                    {
                        //delete
                        context.ControllerActionPermissions.Remove(controllerActionPermission);
                    }
                }
            }
            context.SaveChanges();

            return(RedirectToAction("PagePermission"));
            //ViewBag.Roles = context.Roles.ToList();
            //ViewBag.ControllerActions = context.ControllerActions.ToList();


            //return View();
        }