public JsonResult GetPermissions(WEBPAGES_ROLES role)
        {
            var rps = GetService <IRepository <PKS_ROLE_PERMISSION> >()
                      .GetQuery()
                      .Where(r => r.RoleId == role.ROLEID);
            var ps = GetService <IRepository <PKS_PERMISSION> >()
                     .GetQuery();
            var data = (from p in ps
                        join r in rps on p.Id equals r.PermissionId into g
                        from d in g.DefaultIfEmpty() orderby p.LevelNumber orderby p.OrderNumber
                        select new SystemPermission
            {
                Id = p.Id,
                ParentId = p.ParentId,
                Title = p.Title,
                SystemName = p.SubSystem.Name,
                Description = p.Description,
                Url = p.Url,
                IsDefault = (d == null) ? 0 : d.IsDefault,
                IsChecked = (d != null) && !ps.Any(l => l.ParentId == p.Id),
                PermissionType = p.PermissionType.Name
            }).ToList();

            return(Json(data, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 2
0
        public static PKS_ROLE_PERMISSION ToRolePermission(this SystemPermission sp, WEBPAGES_ROLES role)
        {
            var rp = new PKS_ROLE_PERMISSION();

            rp.RoleId       = role.ROLEID;
            rp.PermissionId = sp.Id;
            rp.IsDefault    = sp.IsDefault;
            return(rp);
        }
        public void SaveRolePermission(WEBPAGES_ROLES role, List <SystemPermission> permissions)
        {
            var db    = GetService <IRepository <PKS_ROLE_PERMISSION> >();
            var query = db.GetQuery();

            db.DeleteList(r => r.RoleId == role.ROLEID);
            PKS_ROLE_PERMISSION rp;

            permissions.ForEach(p =>
            {
                rp = p.ToRolePermission(role);
                db.Add(rp, false);
            });
            db.Submit();
        }