示例#1
0
        /// <summary>
        /// 用户信息集合
        /// </summary>
        /// <param name="dto"></param>
        /// <returns></returns>
        public async Task <TableOutputDto <UserInfoListDto> > UserInfoList(TableInputDto dto)
        {
            //var entity = _dbContext.TbUser.Include("TbUserRelation").AsQueryable();
            var entity = _dbContext.TbUser.AsQueryable();

            if (!string.IsNullOrWhiteSpace(dto.QueryString.Trim()))
            {
                switch (dto.QueryType)
                {
                case "userNo":
                    entity = entity.Where(x => x.UserNo.Contains(dto.QueryString));
                    break;

                case "userName":
                    entity = entity.Where(x => x.UserName.Contains(dto.QueryString));
                    break;

                case "userTel":
                    entity = entity.Where(x => x.UserTel.Contains(dto.QueryString));
                    break;

                case "userState":
                    entity = entity.Where(x => x.UserState == int.Parse(dto.QueryString));
                    break;
                }
            }
            var total = await entity.Where(x => x.IsDelete != 1).AsNoTracking().CountAsync();

            var list = entity.Where(x => x.IsDelete != 1).OrderBy(x => x.UserId).Skip((dto.currentPage - 1) * dto.pageSize).Take(dto.pageSize).AsNoTracking().ToList().Select(x =>
            {
                List <int> ids = new List <int>();
                foreach (var item in x.TbUserRelation)
                {
                    ids.Add(item.RoleId);
                }
                return(new UserInfoListDto
                {
                    userId = x.UserId,
                    userName = x.UserName,
                    userNo = x.UserNo,
                    userTel = x.UserTel,
                    userState = x.UserState,
                    roleIds = ids.ToArray()
                });
            }).ToList();

            return(new TableOutputDto <UserInfoListDto> {
                TableData = list, Total = total
            });
        }
示例#2
0
        public async Task <TableOutputDto <RolePermisDto> > RoleInfoList(TableInputDto dto)
        {
            //var entity = _dbContext.TbRole.Include("TbPerRelation.Permiss.Menu.InverseMenuParent").AsQueryable();
            var entity = _dbContext.TbRole.AsQueryable();

            if (!string.IsNullOrWhiteSpace(dto.QueryString))
            {
                switch (dto.QueryType)
                {
                case "roleNo":
                    entity = entity.Where(x => x.RoleNo.Contains(dto.QueryString));
                    break;

                case "roleName":
                    entity = entity.Where(x => x.RoleName.Contains(dto.QueryString));
                    break;
                }
            }
            var total = await entity.Where(x => x.IsDelete != 1).AsNoTracking().CountAsync();

            List <RolePermisDto> list = entity.Where(x => x.IsDelete != 1).OrderBy(x => x.RoleId).Skip((dto.currentPage - 1) * dto.pageSize).Take(dto.pageSize).AsNoTracking().ToList().Select(x =>
            {
                var per = x.TbPerRelation.Where(y => y.Permiss.Menu.InverseMenuParent.Where(z => z.IsDelete != 1).Count() == 0).Select(z => z.Permiss).ToList();
                return(new RolePermisDto
                {
                    roleId = x.RoleId,
                    roleNo = x.RoleNo,
                    roleName = x.RoleName,
                    permissions = per.Select(y => new Permission
                    {
                        permissId = y.PermissId,
                        menuId = y.MenuId,
                        search = y.SearchState ?? true,
                        add = y.AddState ?? true,
                        delete = y.DeleteState ?? true,
                        update = y.UpdateState ?? true,
                        import = y.ImportState ?? true,
                        export = y.ErportState ?? true,
                        _lock = y.LockState ?? true
                    }).ToList()
                });
            }).ToList();

            return(new TableOutputDto <RolePermisDto> {
                TableData = list, Total = total
            });
        }
示例#3
0
        public async Task <IActionResult> RoleInfolistAsync(TableInputDto dto)
        {
            var res = await _roleInfoService.RoleInfoList(dto);

            return(Ok(res));
        }
示例#4
0
        public async Task <IActionResult> UserInfoList(TableInputDto dto)
        {
            var res = await _userInfoService.UserInfoList(dto);

            return(Ok(res));
        }