Beispiel #1
0
        public async Task <IActionResult> Create(int id)
        {
            var post = _postService.GetById(id);
            var user = await _userManager.FindByNameAsync(User.Identity.Name);

            var model = new BalasanPostModel
            {
                KontenPost = post.Konten,
                JudulPost  = post.Judul,
                PostId     = post.Id,

                IdPembuat      = user.Id,
                NamaAuthor     = User.Identity.Name,
                AuthorImageUrl = user.ProfileImageUrl,
                RatingAuthor   = user.Rating,
                IsAuthorAdmin  = User.IsInRole("Admin"),

                IdForum       = post.Forum.Id,
                NamaForum     = post.Forum.Judul,
                ForumImageUrl = post.Forum.ImageUrl,

                Dibuat = DateTime.Now
            };

            return(View(model));
        }
Beispiel #2
0
        private PostBalasan BuildReply(BalasanPostModel model, ApplicationUser user)
        {
            var post = _postService.GetById(model.PostId);

            return(new PostBalasan
            {
                Post = post,
                Konten = model.KontenBalasan,
                Dibuat = DateTime.Now,
                User = user
            });
        }
Beispiel #3
0
        public async Task <IActionResult> TambahBalasan(BalasanPostModel model)
        {
            var userId = _userManager.GetUserId(User);
            var user   = await _userManager.FindByIdAsync(userId);

            var balasan = BuildReply(model, user);

            await _postService.TambahBalasan(balasan);

            await _userService.UpdateUserRating(userId, typeof(PostBalasan));

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