示例#1
0
        public async Task <bool> UnbindRole(Guid userRoleId)
        {
            var result   = false;
            var userRole = UserRoleDb.GetById(userRoleId);

            if (!userRole.IsNull())
            {
                result = await UserRoleDb.AsDeleteable().ExecuteCommandAsync() > 0;
            }

            return(result);
        }
示例#2
0
        public async Task <List <SystemRole> > GetByUserId(Guid userid)
        {
            var roles     = RoleDb.GetList();
            var userRoles = UserRoleDb.AsQueryable().Where(ur => ur.UserId == userid).Select(ur => ur);

            foreach (var role in roles)
            {
                if (userRoles.Any(x => x.RoleId == role.RoleId))
                {
                    role.UserId = userid;
                }
            }

            return(roles);
        }
示例#3
0
        public async Task <bool> BindRoles(Guid userId, string[] roleIds)
        {
            bool result = false;

            await UserRoleDb.AsDeleteable().Where(ur => ur.UserId == userId).ExecuteCommandAsync();

            foreach (var roleId in roleIds)
            {
                var userRole = new UserRole()
                {
                    Id = Guid.NewGuid(), RoleId = roleId.ToGuid(), UserId = userId
                };
                result = await UserRoleDb.AsInsertable(userRole).ExecuteCommandAsync() > 0;
            }

            return(result);
        }