コード例 #1
0
        public ActionResult <Post> GetPost(long id, [FromQuery] bool shortPost = false)
        {
            Post post = blogRepository.GetById(id);

            if (post != null)
            {
                if (shortPost)
                {
                    ShortPostResponseDto result = (ShortPostResponseDto)post;
                    result.ImageUri = service.GetImage(GetHostPath(), post.ImageGuid);
                    return(Ok(result));
                }
                else
                {
                    PostResponseDto result = (PostResponseDto)post;
                    result.ImageUri = service.GetImage(GetHostPath(), post.ImageGuid);
                    return(Ok(result));
                }
            }

            return(NotFound(id));
        }
コード例 #2
0
        public ActionResult <ListResponse <Post> > GetPosts(string category, int page = 0)
        {
            category = category == "null" ? null : category;
            IEnumerable <Post>          posts       = blogRepository.GetPosts(page, category);
            List <ShortPostResponseDto> mappedPosts = posts.Select(x =>
            {
                ShortPostResponseDto mappedPost = (ShortPostResponseDto)x;
                mappedPost.ImageUri             = service.GetImage(GetHostPath(), x.ImageGuid);
                return(mappedPost);
            }).ToList();

            int maxPages = blogRepository.GetMaxPages(category);

            ListResponse <ShortPostResponseDto> result = new ListResponse <ShortPostResponseDto>()
            {
                CurrentPage = page,
                MaxPages    = maxPages,
                Data        = mappedPosts
            };

            return(Ok(result));
        }