예제 #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 MoneySource Insert(MoneySource moneySource)
        {
            var source = _adapter.Insert(moneySource);

            var userPermissionAdapter = new UserObjectPermissionDataAdapter();

            userPermissionAdapter.Insert(new UserObjectPermission
            {
                ObjectType = "MoneySource",
                ObjectId   = source.Id,
                Permission = PermissionEnum.Read | PermissionEnum.Create | PermissionEnum.Edit | PermissionEnum.Delete,
                User       = source.Owner
            });

            return(source);
        }
예제 #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);
                }
            }
        }