Example #1
0
        public async Task <IActionResult> Comment(CommentViewModel vm)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToAction("Post", new { id = vm.PostId }));
            }
            var post = await _repo.GetPost(vm.PostId);

            if (vm.MainCommentId == 0)
            {
                post.MainComments = post.MainComments ?? new List <MainComment>();
                post.MainComments.Add(new MainComment
                {
                    Name    = vm.Name,
                    Message = vm.Message,
                    Created = DateTime.Now,
                });
                _repo.UpdatePost(post);
            }
            else
            {
                var subComment = new SubComment
                {
                    MainCommentId = vm.MainCommentId,
                    Name          = vm.Name,
                    Message       = vm.Message,
                    Created       = DateTime.Now
                };
                _repo.AddSubComment(subComment);
            }
            await _repo.SaveChangesAsync();

            return(RedirectToAction("Post", new { id = vm.PostId }));
        }
Example #2
0
        public async Task <IActionResult> Comment(CommentViewModel vm)
        {
            var temp = vm.UserName;

            if (!ModelState.IsValid)
            {
                return(RedirectToAction("post", temp, new { id = vm.PostId }));
            }
            var post = _postRepository.GetPost(vm.PostId);

            if (vm.MainCommentId == 0)
            {
                post.MainComments = post.MainComments ?? new List <MainComment>();
                post.MainComments.Add(new MainComment
                {
                    Message  = vm.Message,
                    Created  = DateTime.Now,
                    UserName = _userManager.GetUserName(User),
                });
                _postRepository.UpdatePost2(post);
            }
            else
            {
                var comment = new SubComment
                {
                    MainCommentId = vm.MainCommentId,
                    Message       = vm.Message,
                    Created       = DateTime.Now,
                    UserName      = _userManager.GetUserName(User),
                };
                _postRepository.AddSubComment(comment);
            }
            await _postRepository.SaveChangesAsync();

            return(RedirectToAction("post", temp, new { id = vm.PostId }));
        }