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); }
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")); } }