Beispiel #1
0
        public static RoleSearchDto ToRoleSearchDto(RoleListSearchRequest request)
        {
            var dto = new RoleSearchDto
            {
                Limit    = request.Limit == 0 ? 10 : request.Limit,
                Page     = request.Page == 0 ? 1 : request.Page,
                RoleName = request.Name
            };

            return(dto);
        }
Beispiel #2
0
        public async Task <PageModelDto <RoleDto> > GetPaged(RoleSearchDto searchModel)
        {
            Expression <Func <SysRole, bool> > whereCondition = x => true;

            if (!string.IsNullOrWhiteSpace(searchModel.RoleName))
            {
                whereCondition = whereCondition.And(x => x.Name.Contains(searchModel.RoleName));
            }

            var pagedModel = await _roleRepository.PagedAsync(searchModel.PageIndex, searchModel.PageSize, whereCondition, x => x.ID, true);

            return(_mapper.Map <PageModelDto <RoleDto> >(pagedModel));
        }
Beispiel #3
0
        public async Task <PagedModel <RoleProfileDto> > GetPagedList(RoleSearchDto criteria)
        {
            Expression <Func <SysRole, bool> > condition = it => true;

            if (!string.IsNullOrWhiteSpace(criteria.RoleName))
            {
                condition = condition.And(it =>
                                          it.Name.Contains(criteria.RoleName) || it.Tips.Contains(criteria.RoleName));
            }

            var result = await _unitOfWork.RoleRepository.PagedAsync(
                criteria.Page,
                criteria.Limit,
                condition,
                it => it.Id,
                true);

            var dto = RoleMapper.ToRoleProfileDto(result);

            if (dto.Count <= 0)
            {
                return(dto);
            }

            foreach (var item in dto.Data)
            {
                var dept = await _deptService.GetById(item.Deptid.Value());

                item.DeptName = dept?.Simplename;

                if (!item.Pid.HasValue || item.Pid.Value == 0)
                {
                    continue;
                }

                // 先从已有的列表里面获取,如果有就不再单独去取
                if (dto.Data.Any(it => it.Id == item.Pid))
                {
                    item.PName = dto.Data.First(it => it.Id == item.Pid).Name;
                    continue;
                }

                // 单独取
                item.PName = (await GetById(item.Pid.Value))?.Name;
            }

            return(dto);
        }
Beispiel #4
0
 public async Task <PageModelDto <RoleDto> > GetPaged([FromQuery] RoleSearchDto searchModel)
 {
     return(await _roleService.GetPaged(searchModel));
 }