예제 #1
0
        public void SetPermission(ObjectPermissions objectPermissions)
        {
            var oldPerm = GetPermissions(objectPermissions.ObjectId);

            var ropAdapter = new RoleObjectPermissionDataAdapter();

            foreach (var item in oldPerm.RolesPermissions)
            {
                ropAdapter.Delete(item.Id);
            }

            var uopAdapter = new UserObjectPermissionDataAdapter();

            foreach (var item in oldPerm.UsersPermissions)
            {
                uopAdapter.Delete(item.Id);
            }

            foreach (var item in objectPermissions.RolesPermissions)
            {
                ropAdapter.Insert(item);
            }
            foreach (var item in objectPermissions.UsersPermissions)
            {
                uopAdapter.Insert(item);
            }
        }
예제 #2
0
        public void Delete(string id)
        {
            _adapter.Delete(id);
            var ropAdapter = new RoleObjectPermissionDataAdapter();
            var roleList   = ropAdapter.GetByObjectId(id);

            foreach (var item in roleList)
            {
                ropAdapter.Delete(item.Id);
            }

            var uopAdapter = new UserObjectPermissionDataAdapter();
            var userList   = uopAdapter.GetByObjectId(id);

            foreach (var item in userList)
            {
                uopAdapter.Delete(item.Id);
            }
        }
예제 #3
0
        public static void SetPermissions(string userId, UserPermissions permissions)
        {
            var userObjectPermDA = new UserObjectPermissionDataAdapter();

            if (permissions.InheriteFromRole)
            {
                var list = userObjectPermDA.GetByUserId(userId);
                foreach (var item in list)
                {
                    userObjectPermDA.Delete(item.Id);
                }
            }
            else
            {
                foreach (var item in permissions.Permissions)
                {
                    userObjectPermDA.Insert(item);
                }
            }
        }