コード例 #1
0
        public async Task <IActionResult> GetUsersDisplay([FromQuery] UserUserParams userParams)
        {
            var users = _mapper.Map <IEnumerable <UserForDisplayDto> >(
                await _userService.GetUsers(userParams)
                );

            return(Ok(users));
        }
コード例 #2
0
ファイル: UserService.cs プロジェクト: 18cs/LodgeNET
        public async Task <PagedList <User> > GetUsersPagination(UserUserParams userParams)
        {
            var users = await _authRepo.GetUsersPagination(
                userParams,
                new Expression <Func <User, object> >[] {
                u => u.AccountType,
                u => u.Rank
            });

            return(users);
        }
コード例 #3
0
ファイル: UserService.cs プロジェクト: 18cs/LodgeNET
        public async Task <IEnumerable <User> > GetUsers(UserUserParams userParams)
        {
            var users = await _authRepo.GetUsers(
                userParams,
                new Expression <Func <User, object> >[] {
                u => u.AccountType,
                u => u.Rank,
                u => u.Unit
            });

            return(users);
        }
コード例 #4
0
        public async Task <IActionResult> GetUsersPagination([FromQuery] UserUserParams userParams)
        {
            var users = await _userService.GetUsersPagination(userParams);

            var usersToReturn = _mapper.Map <IEnumerable <UserForEditDto> >(users);

            Response.AddPagination(users.CurrentPage,
                                   users.PageSize,
                                   users.TotalCount,
                                   users.TotalPages);

            return(Ok(usersToReturn));
        }
コード例 #5
0
        public async Task <IEnumerable <User> > GetUsers(
            UserUserParams userParams,
            Expression <Func <User, object> >[] includeProperties = null,
            Expression <Func <User, bool> > filter = null
            )
        {
            var users = _context.Users.AsQueryable();

            if (includeProperties != null)
            {
                users = ProcessUserProperties(users, includeProperties);
            }
            users = ProcessUserFilter(users, userParams, filter);

            return(await users.ToListAsync());
        }
コード例 #6
0
        public async Task <PagedList <User> > GetUsersPagination(
            UserUserParams userParams,
            Expression <Func <User, object> >[] includeProperties = null,
            Expression <Func <User, bool> > filter = null
            )
        {
            var users = _context.Users.AsQueryable();

            if (includeProperties != null)
            {
                users = ProcessUserProperties(users, includeProperties);
            }
            users = ProcessUserFilter(users, userParams, filter);

            return(await PagedList <User> .CreateAsync(users, userParams.PageNumber, userParams.PageSize));
        }
コード例 #7
0
        private IQueryable <User> ProcessUserFilter(IQueryable <User> users, UserUserParams userParams, Expression <Func <User, bool> > filter)
        {
            if (filter != null)
            {
                users = users.Where(filter);
            }

            if (userParams.AccountTypeId != null)
            {
                users = users.Where(u => u.AccountTypeId == userParams.AccountTypeId);
            }

            if (userParams.Approved != null)
            {
                users = users.Where(u => u.Approved == userParams.Approved);
            }

            if (!String.IsNullOrWhiteSpace(userParams.UserName))
            {
                users = users.Where(u => u.UserName.Equals(userParams.UserName));
            }
            return(users);
        }