public async Task <ResultModel> GetRoles(RolesQueryDto rolesQueryDto)
 {
     return(await Task.Run(() =>
     {
         try
         {
             var query = _userDatabaseContext.Roles.Where(x => 1 == 1);
             if (!string.IsNullOrWhiteSpace(rolesQueryDto.RoleName))
             {
                 query = query.Where(x => x.RoleName.Contains(rolesQueryDto.RoleName));
             }
             //后面要做根据条件排序
             query = query.OrderBy(x => x.RoleName);
             var list = query.Select(x => new RolesDto
             {
                 Id = x.Id.ToString(),
                 RoleName = x.RoleName
             });
             var page = PagedList <RolesDto> .ToPagedList(list, rolesQueryDto.CurrentPage, rolesQueryDto.PageSize);
             return new ResultModel(ResultCode.Success, page);
         }
         catch (Exception ex)
         {
             return new ResultModel(ResultCode.Fail, ex.Message);
         }
     }));
 }
        public async Task <ResultModel> GetUserRolesByUserId(RolesQueryDto rolesQueryDto)
        {
            return(await Task.Run(() => {
                try
                {
                    var roleQuery = from a in _userDatabaseContext.Roles
                                    join b in _userDatabaseContext.UserRoles
                                    on a.Id equals b.RoleId
                                    where b.UserId == rolesQueryDto.UserId
                                    select new UserRoleDto
                    {
                        RoleId = a.Id.ToString(),
                        RoleName = a.RoleName,
                        IsHaveRole = false
                    };

                    var page = PagedList <UserRoleDto> .ToPagedList(roleQuery, rolesQueryDto.CurrentPage, rolesQueryDto.PageSize);
                    var roleIdPage = page.Data.Select(x => Guid.Parse(x.RoleId)).ToList();
                    var userRoleQuery = _userDatabaseContext.UserRoles.Where(x => x.UserId == rolesQueryDto.UserId && roleIdPage.Contains(x.RoleId));
                    page.Data.ForEach(x =>
                    {
                        if (userRoleQuery.Any(u => u.RoleId.ToString() == x.RoleId))
                        {
                            x.IsHaveRole = true;
                        }
                    });
                    return new ResultModel(ResultCode.Success, page);
                }
                catch (Exception ex)
                {
                    return new ResultModel(ResultCode.Fail, ex.Message);
                }
            }));
        }
 public async Task <ResultModel> GetUserRoleAndIsHaveRoleByUserId(RolesQueryDto rolesQueryDto)
 {
     return(await Task.Run(() =>
     {
         try
         {
             var query = _userDatabaseContext.Roles.Where(x => 1 == 1);
             if (!string.IsNullOrWhiteSpace(rolesQueryDto.RoleName))
             {
                 query = query.Where(x => x.RoleName.Contains(rolesQueryDto.RoleName));
             }
             var dtoQuery = query.Select(x => new UserRoleDto
             {
                 RoleId = x.Id.ToString(),
                 RoleName = x.RoleName,
                 IsHaveRole = false
             });
             //var page = PagedList<UserRoleDto>.ToPagedList(dtoQuery, rolesQueryDto.CurrentPage, rolesQueryDto.PageSize);
             //var roleIdPage = page.Data.Select(x => Guid.Parse(x.RoleId)).ToList();
             //var userRoleQuery = _userDatabaseContext.UserRoles.Where(x => x.UserId == rolesQueryDto.UserId && roleIdPage.Contains(x.RoleId));
             //page.Data.ForEach(x =>
             //{
             //    if (userRoleQuery.Any(u => u.RoleId.ToString() == x.RoleId))
             //    {
             //        x.IsHaveRole = true;
             //    }
             //});
             return new ResultModel(ResultCode.Success, dtoQuery.ToList());
         }
         catch (Exception ex)
         {
             return new ResultModel(ResultCode.Fail, ex.Message);
         }
     }));
 }
        public IActionResult Query([FromBody] RolesQueryDto parm)
        {
            //开始拼装查询条件
            var predicate = Expressionable.Create <Sys_Role>();

            predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.Name), m => m.Name.Contains(parm.Name));

            var response = _roleService.GetPages(predicate.ToExpression(), parm);

            return(toResponse(response));
        }
Exemple #5
0
        public IActionResult Query([FromBody] RolesQueryDto parm)
        {
            //开始拼装查询条件
            var predicate = Expressionable.Create <Sys_Role>();

            //判断是否是超级管理员
            var userSession = _tokenManager.GetSessionInfo();

            predicate = predicate.AndIF(!userSession.Administrator, m => m.Administrator == false);

            predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.Name), m => m.Name.Contains(parm.Name));

            var response = _roleService.GetPages(predicate.ToExpression(), parm);

            return(toResponse(response));
        }
Exemple #6
0
 public async Task <IActionResult> GetRolesPage([FromBody] RolesQueryDto dto)
 {
     return(Json(await _roleService.GetRoles(dto)));
 }
Exemple #7
0
 public async Task <IActionResult> GetUserRoleAndIsHaveRoleByUserId([FromBody] RolesQueryDto rolesQueryDto)
 {
     return(Json(await _roleService.GetUserRoleAndIsHaveRoleByUserId(rolesQueryDto)));
 }