示例#1
0
        public static UserPermissions GetPermissions(string userId)
        {
            var userObjectPermDA = new UserObjectPermissionDataAdapter();
            var list             = userObjectPermDA.GetByUserId(userId);

            if (list != null && list.Count > 0)
            {
                return(new UserPermissions
                {
                    Permissions = list,
                    InheriteFromRole = false
                });
            }

            var user               = GetUserById(userId);
            var roleSvc            = new RoleService();
            var rolePermissionList = roleSvc.GetPermissions(user.Role.Id);
            var result             = rolePermissionList.Select(item => new UserObjectPermission()
            {
                Id = item.Id, ObjectType = item.ObjectType, User = user, Permission = item.Permission
            }).ToList();

            return(new UserPermissions
            {
                InheriteFromRole = true,
                Permissions = result
            });
        }
示例#2
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);
            }
        }
示例#3
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);
        }
示例#4
0
        public ObjectPermissions GetPermissions(string moneySourceId)
        {
            var result = new ObjectPermissions
            {
                ObjectId   = moneySourceId,
                ObjectType = "MoneySource",
            };

            var ropAdapter = new RoleObjectPermissionDataAdapter();

            result.RolesPermissions = ropAdapter.GetByObjectId(moneySourceId);

            var uopAdapter = new UserObjectPermissionDataAdapter();

            result.UsersPermissions = uopAdapter.GetByObjectId(moneySourceId);

            return(result);
        }
示例#5
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);
            }
        }
示例#6
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);
                }
            }
        }