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()); }
public async Task <IActionResult> GetFollowing(FollowFilterRequest request) { var data = await userService.GetFollowing(request); return(Ok(new ApiOkResponse(data))); }