Esempio n. 1
0
 public virtual async Task <IEnumerable <TEntity> > GetSorted(GetUsersQueryParams queryParams)
 {
     if (queryParams.Order == "asc")
     {
         return(await IncludedEntities.Skip(queryParams.Skip).Take(queryParams.Take).OrderBy(x => x.Id).ToListAsync());
     }
     return(await IncludedEntities.Skip(queryParams.Skip).Take(queryParams.Take).OrderByDescending(x => x.Id).ToListAsync());
 }
Esempio n. 2
0
        public async Task <IActionResult> GetLimitedUsers([FromQuery] GetUsersQueryParams param)
        {
            if (String.IsNullOrEmpty(param.SortBy))
            {
                return(Ok(await _userService.GetLimitedUsers(param.Skip, param.Take)));
            }

            return(Ok(await _userService.GetSortedUsers(param)));
        }
Esempio n. 3
0
        public override async Task <IEnumerable <Person> > GetSorted(GetUsersQueryParams queryParams)
        {
            if (queryParams.Order == OrderType.asc.ToString())
            {
                return(await IncludedEntities.Skip(queryParams.Skip).Take(queryParams.Take).OrderBy(queryParams.SortBy).ToListAsync());
            }

            return(await IncludedEntities.Skip(queryParams.Skip).Take(queryParams.Take).OrderByDescending(queryParams.SortBy).ToListAsync());
        }
Esempio n. 4
0
        public async Task <IEnumerable <PersonDTO> > GetSortedUsers(GetUsersQueryParams queryParams)
        {
            var sortingProperty      = queryParams.SortBy;
            var propertyDoesNotExist = typeof(Person).GetProperty(sortingProperty, BindingFlags.Instance | BindingFlags.Public | BindingFlags.IgnoreCase) is null;

            if (propertyDoesNotExist)
            {
                throw new Exception("property does not exist on type");
            }

            var sortedUsers = await _unitOfWork.UserRepository.GetSorted(queryParams);

            var users = _mapper.Map <IEnumerable <PersonDTO> >(sortedUsers);

            return(users);
        }