Ejemplo n.º 1
0
        public PostDTO GetPostDetail(int ID)
        {
            Post post = db.Posts.First(x => x.ID == ID);

            post.ViewCount++;
            db.SaveChanges();
            PostDTO dto = new PostDTO();

            dto.ID           = post.ID;
            dto.ViewCount    = post.ViewCount;
            dto.Title        = post.Title;
            dto.ShortContent = post.ShortContent;
            dto.PostContent  = post.PostContent;
            dto.LanguageName = post.LanguageName;
            dto.SeoLink      = post.SeoLink;
            dto.CategoryID   = post.CategoryID;
            dto.CategoryName = (db.Categories.First(x => x.ID == dto.CategoryID)).CategoryName;
            List <PostImage>    images       = db.PostImages.Where(x => x.isDeleted == false && x.PostID == ID).ToList();
            List <PostImageDTO> imagedtolist = new List <PostImageDTO>();

            foreach (var item in images)
            {
                PostImageDTO img = new PostImageDTO();
                img.ID        = item.ID;
                img.ImagePath = item.ImagePath;
                imagedtolist.Add(img);
            }
            dto.PostImageList = imagedtolist;
            dto.CommentCount  = db.Comments.Where(x => x.isDeleted == false && x.PostID == ID && x.isApproved == true).Count();
            List <Comment>    comments       = db.Comments.Where(x => x.isDeleted == false && x.PostID == ID && x.isApproved == true).ToList();
            List <CommentDTO> commentdtolist = new List <CommentDTO>();

            foreach (var item in comments)
            {
                CommentDTO cdto = new CommentDTO();
                cdto.ID             = item.ID;
                cdto.AddDate        = item.AddDate;
                cdto.CommentContent = item.CommentContent;
                cdto.Name           = item.PostSurname;
                cdto.Email          = item.Email;
                commentdtolist.Add(cdto);
            }
            dto.CommentList = commentdtolist;
            List <PostTag>    tags    = db.PostTags.Where(x => x.isDeleted == false && x.PostID == ID).ToList();
            List <PostTagDTO> taglist = new List <PostTagDTO>();

            foreach (var item in tags)
            {
                PostTagDTO tdto = new PostTagDTO();
                tdto.ID         = item.ID;
                tdto.TagContent = item.TagContent;
                taglist.Add(tdto);
            }
            dto.PostTagList = taglist;
            return(dto);
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> CreateAsync([FromBody] PostTagDTO postTagDTO)
        {
            try
            {
                if (postTagDTO == null)
                {
                    return(BadRequest());
                }

                var postTag = _mapper.Map <PostTag>(postTagDTO);
                _uof.PostsTagsRepository.Add(postTag);
                await _uof.Commit();

                var result = _mapper.Map <PostTagDTO>(postTag);
                return(new ObjectResult(result));
            }
            catch
            {
                return(StatusCode(StatusCodes.Status500InternalServerError, "Error when try to create a new tag"));
            }
        }