public override async Task <GetPostsResponse> GetPublishedPostsByCategory(GetPostsByCategoryRequest request, ServerCallContext context) { var response = new GetPostsResponse(); var categoryEntity = await _blogDbContext.Categories .SingleOrDefaultAsync(category => category.Slug == request.CategorySlug && category.IsActive && !category.IsDeleted); if (categoryEntity == null) { return(response); } var postEntities = await _blogDbContext.Posts .Where(post => post.CategoryId == categoryEntity.Id) .Where(post => post.IsActive && !post.IsDeleted) .Where(post => post.Status == PostStatus.Published) .OrderByDescending(post => post.PublishedDate) .Skip((int)request.Offset) .Take((int)request.Limit) .ToListAsync(); response.Posts.AddRange(postEntities.Select(postEntity => _postMapper.Map(postEntity, categoryEntity))); return(response); }
public GetPostsResponse GetPosts(int lastId, int count) { var posts = _postRepository.GetPosts(lastId, count); var postDtos = _postMapper.Map(posts); return(new GetPostsResponse { LastId = GetLastId(posts), PostsList = postDtos }); }
public GetUserActivityResponse GetUserActivity(string name) { return(new GetUserActivityResponse { User = _responseMapper.Map(_userRepository.GetUserByCredentials(name)), PostList = _postMapper.Map(_postRepository.GetUserPosts(name)) }); }
public GetRandomPostResponse GetRandomPost() { var randomPost = _postRepository.GetRandomPost(); return(new GetRandomPostResponse { Post = _postMapper.Map(randomPost) }); }
public IList <PostModel> GetPosts() { var posts = _postRepository.GetPosts(); return(_postMapper.Map(posts)); }