public async Task <JsonResult> GetComments([FromBody] int PostId)
        {
            Post post = await _context.Post
                        .Include(p => p.Comments)
                        .ThenInclude(c => c.User)
                        .FirstOrDefaultAsync(s => s.Id == PostId);

            List <Comment> sortingComments = post.Comments
                                             .OrderBy(x => x.Id)
                                             .ToList();
            List <ViewComments> comments = new List <ViewComments>(post.Comments.Count());

            foreach (Comment item in sortingComments)
            {
                ViewComments view = new ViewComments {
                    Id       = User.Identity.Name,
                    UserName = item.User.Username,
                    Avatar   = item.User.Avatar,
                    Date     = item.Date.ToString("MM.dd.yyyy hh:mm tt"),
                    Text     = item.Text
                };
                comments.Add(view);
            }
            //Console.WriteLine(PostId);
            return(Json(comments));
        }
        public async Task <JsonResult> AddComment([FromBody] JsonComment data)
        {
            ViewComments viewComment;

            if (data.Text.Trim() != "")
            {
                User    user    = _context.User.FirstOrDefault(s => s.Id == Int32.Parse(User.Identity.Name));
                Comment comment = new Comment {
                    Text   = System.Web.HttpUtility.HtmlEncode(data.Text),
                    UserId = Int32.Parse(User.Identity.Name),
                    PostId = data.PostId,
                    Date   = DateTime.Now
                };
                _context.Add(comment);
                await _context.SaveChangesAsync();

                viewComment = new ViewComments {
                    Id       = User.Identity.Name,
                    UserName = user.Username,
                    Avatar   = user.Avatar,
                    Date     = comment.Date.ToString("dd.MM.yyyy hh:mm tt"),
                    Text     = comment.Text,
                    Error    = null
                };
            }
            else
            {
                viewComment = new ViewComments {
                    Error = "You did not enter a comment"
                };
            }
            return(Json(viewComment));
        }
Example #3
0
 protected void btnComments_Click(object sender, EventArgs e)
 {
     ViewComments?.Invoke(this, e);
 }