Example #1
0
        public async Task <IEnumerable <FollowViewModel> > GetFollowing(FollowFilterRequest request)
        {
            var findFilter = Builders <Follow> .Filter.Eq(FromId, request.UserId);

            IQueryable <FollowViewModel> queryable = mapper.Map <List <FollowViewModel> >(await followRepository.FindListAsync(findFilter)).AsQueryable();

            queryable = queryable.Where(x => x.ToName.NormalizeSearch().Contains(request.KeyWord.NormalizeSearch()));
            if (request.FromDate != null)
            {
                queryable = queryable.Where(x => x.FollowDate >= request.FromDate);
            }

            if (request.ToDate != null)
            {
                queryable = queryable.Where(x => x.FollowDate <= request.ToDate);
            }

            if (request.OrderType == SortType.Ascending)
            {
                queryable = queryable.OrderBy(x => x.FollowDate);
            }
            else
            {
                queryable = queryable.OrderByDescending(x => x.FollowDate);
            }

            if (request.Skip.HasValue && request.Count.HasValue)
            {
                queryable = queryable.Skip(request.Skip.Value).Take(request.Count.Value);
            }

            return(queryable.ToList());
        }
Example #2
0
        public async Task <IActionResult> GetFollowing(FollowFilterRequest request)
        {
            var data = await userService.GetFollowing(request);

            return(Ok(new ApiOkResponse(data)));
        }