示例#1
0
        public async Task <IActionResult> Comment(CommentViewModel cvm)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToAction("Post", new { id = cvm.PostId }));
            }

            var post = _repo.GetPost(cvm.PostId);

            if (cvm.MainCommentId == 0)
            {
                post.MainComments = post.MainComments ?? new List <MainComment>();
                post.MainComments.Add(new MainComment
                {
                    Message = cvm.Message,
                    Created = DateTime.Now,
                });

                _repo.UpdatePost(post);
            }
            else
            {
                var comment = new SubComment
                {
                    MainCommentId = cvm.MainCommentId,
                    Message       = cvm.Message,
                    Created       = DateTime.Now,
                };
                _repo.AddSubComment(comment);
            }

            await _repo.SaveChangesAsync();

            return(RedirectToAction("Post", new { id = cvm.PostId }));
        }