예제 #1
0
        public CategoryResponseDto GetCategoryById(int Id)
        {
            var category = GetById(Id);

            var listOfPost     = new List <PostResponseDto>();
            var listOfImages   = new List <ImageResponseDto>();
            var listOfComments = new List <CommentResponseDto>();


            foreach (var post in category.Posts)
            {
                foreach (var comment in post.Comments)
                {
                    var commentDto = new CommentResponseDto
                    {
                        Id = comment.Id,
                        ContentOfComment = comment.Content,
                        postId           = comment.postId
                    };
                    listOfComments.Add(commentDto);
                }

                foreach (var image in post.Images)
                {
                    var imageDto = new ImageResponseDto
                    {
                        Id        = image.Id,
                        Name      = image.Name,
                        Url       = image.Url,
                        Extension = image.Extension,
                        postId    = image.postId
                    };
                    listOfImages.Add(imageDto);
                }

                var postDto = new PostResponseDto
                {
                    Id         = post.Id,
                    Title      = post.Title,
                    Content    = post.Content,
                    Likes      = post.Likes,
                    Dislikes   = post.Dislikes,
                    Comments   = listOfComments,
                    Images     = listOfImages,
                    CategoryId = post.CategoryId
                };

                listOfPost.Add(postDto);
            }


            var categoryDto = new CategoryResponseDto
            {
                Id    = category.Id,
                Name  = category.Name,
                Posts = listOfPost
            };

            return(categoryDto);
        }
예제 #2
0
        public List <PostResponseDto> GetAllPost()
        {
            var posts = _context.Posts.Include("Images").Include("Comments").ToList();

            posts.Reverse();
            var listOfPost     = new List <PostResponseDto>();
            var listOfImages   = new List <ImageResponseDto>();
            var listOfComments = new List <CommentResponseDto>();

            foreach (var post in posts)
            {
                if (post.Comments.Count != 0)
                {
                    foreach (var comment in post.Comments)
                    {
                        var commentDto = new CommentResponseDto
                        {
                            Id = comment.Id,
                            ContentOfComment = comment.Content,
                            postId           = comment.postId
                        };
                        listOfComments.Add(commentDto);
                    }
                }

                if (post.Images.Count != 0)
                {
                    foreach (var image in post.Images)
                    {
                        var imageDto = new ImageResponseDto
                        {
                            Id        = image.Id,
                            Name      = image.Name,
                            Url       = image.Url,
                            Extension = image.Extension,
                            postId    = image.postId
                        };
                        listOfImages.Add(imageDto);
                    }
                }

                var postDto = new PostResponseDto
                {
                    Id       = post.Id,
                    Title    = post.Title,
                    Content  = post.Content,
                    Likes    = post.Likes,
                    Dislikes = post.Dislikes,
                    //Comments = listOfComments,
                    Images     = listOfImages,
                    CategoryId = post.CategoryId
                };

                listOfPost.Add(postDto);
            }

            return(listOfPost);
        }
예제 #3
0
        public PostResponseDto GetPostById(int Id)
        {
            var post = _context.Posts.Include("Images").Where(p => p.Id == Id).FirstOrDefault();

            var listOfImages   = new List <ImageResponseDto>();
            var listOfComments = new List <CommentResponseDto>();

            //foreach (var comment in post.Comments)
            //{
            //    var commentDto = new CommentResponseDto
            //    {
            //        Id = comment.Id,
            //        ContentOfComment = comment.Content,
            //        postId = comment.postId
            //    };
            //    listOfComments.Add(commentDto);
            //}

            if (post.Images.Count != 0)
            {
                foreach (var image in post.Images)
                {
                    var imageDto = new ImageResponseDto
                    {
                        Id        = image.Id,
                        Name      = image.Name,
                        Url       = image.Url,
                        Extension = image.Extension,
                        postId    = image.postId
                    };
                    listOfImages.Add(imageDto);
                }
            }

            var postDto = new PostResponseDto
            {
                Id         = post.Id,
                Title      = post.Title,
                Content    = post.Content,
                Likes      = post.Likes,
                Dislikes   = post.Dislikes,
                Comments   = listOfComments,
                Images     = listOfImages,
                CategoryId = post.CategoryId
            };

            return(postDto);
        }
예제 #4
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));
        }