public async Task <IEnumerable <PostViewModel> > GetPostByUserId(GetPostByUserRequest request) { try { var filter = Builders <Post> .Filter; var match = filter.Eq(PostConstant.AuthorId, request.UserId) & filter.Eq(Constants.Status, ItemStatus.Active); var currentuser = Feature.CurrentUser(httpContextAccessor, userRepository); var author = await userRepository.GetByIdAsync(ObjectId.Parse(request.UserId)); var data = (await postRepository.FindListAsync(match)).OrderByDescending(x => x.CreatedDate).ToList(); if (request.Skip.HasValue && request.Count.HasValue) { data = data.Skip(request.Skip.Value).Take(request.Count.Value).ToList(); } var response = mapper.Map <IEnumerable <PostViewModel> >(data); return(response); } catch (Exception) { throw new Exception(UserHasNoPost); } }
public async Task <IActionResult> GetByUserId(GetPostByUserRequest request) { var data = await postService.GetPostByUserId(request); return(Ok(new ApiOkResponse(data))); }