コード例 #1
0
        public async Task <IActionResult> GetAll([FromQuery] PaggingParms paggingParms)
        {
            try
            {
                var users = await _unitofWork.PartnerFinder.GetUsers(paggingParms);

                var userToReturn = _mapper.Map <IEnumerable <UserForListDto> >(users);
                return(Ok(userToReturn));
            }
            catch (Exception ex)
            {
                throw;
            }
        }
コード例 #2
0
        //ovar ride the GetALL mathod of Repository
        public async Task <PagedList <Demo> > GetAll(PaggingParms paggingParms)
        {
            var getData = dbset.AsQueryable();

            getData = getData.Where(x => x.Gender == paggingParms.Gender);
            getData = getData.Where(x => x.Age >= paggingParms.MinAge && x.Age <= paggingParms.MaxAge);
            if (paggingParms.OrderBy == 1)
            {
                getData = getData.OrderBy(x => x.Age);
            }
            else
            {
                getData = getData.OrderByDescending(x => x.Age);
            }
            return(await PagedList <Demo> .CreteAsync(getData, paggingParms.PageNumber, paggingParms.PageSize));
        }
コード例 #3
0
        public async Task <PagedList <AppUser> > GetUsers(PaggingParms paggingParms)
        {
            var result = _db.AppUsers.Include(x => x.Photos).OrderBy(x => x.LastActive).AsQueryable();

            //filter
            if (!string.IsNullOrEmpty(paggingParms.Gender))
            {
                result = result.Where(x => x.Gender == paggingParms.Gender);
            }
            if (paggingParms.Likers)
            {
                var userLikers = await GetUserLikes(paggingParms.UserId, paggingParms.Likers);

                result = result.Where(u => userLikers.Contains(u.Id));
            }
            if (paggingParms.Likees)
            {
                var userLikees = await GetUserLikes(paggingParms.UserId, paggingParms.Likers);

                result = result.Where(u => userLikees.Contains(u.Id));
            }
            // sort
            if (!string.IsNullOrEmpty(paggingParms.OrderBy))
            {
                switch (paggingParms.OrderBy)
                {
                case "created":
                    result = result.OrderByDescending(x => x.Created);
                    break;

                default:
                    result = result.OrderByDescending(x => x.LastActive);
                    break;
                }
            }

            return(await PagedList <AppUser> .CreteAsync(result, paggingParms.PageNumber, paggingParms.PageSize));
        }
コード例 #4
0
        public Task <PagedList <T> > GetAll(PaggingParms paggingParms)
        {
            var getData = dbset.AsQueryable();

            return(PagedList <T> .CreteAsync(getData, paggingParms.PageNumber, paggingParms.PageSize));
        }