hn-20-2/Apps/Website/Controllers/CommentsController.cs

45 lines
1.1 KiB
C#

using System;
using Application;
using Microsoft.AspNetCore.Mvc;
namespace Website.Controllers
{
public class CommentsController : BaseController
{
private readonly CommentService _commentService;
private readonly LinkService _linkService;
public CommentsController(CommentService commentService, LinkService linkService)
{
_commentService = commentService;
_linkService = linkService;
}
[HttpGet("links/{linkId:guid}/comment")]
public IActionResult Create(Guid linkId)
{
ViewData["Url"] = _linkService.GetLinkById(linkId).Url;
return View();
}
[HttpPost("links/{linkId:guid}/comment")]
public IActionResult Create(PublishCommentCommand cmd)
{
if (!ModelState.IsValid)
{
ViewData["Url"] = _linkService.GetLinkById(cmd.LinkId).Url;
return View(cmd);
}
_commentService.PublishComment(cmd);
Success("Your comment was published!");
// return Redirect($"/links/detail/{cmd.LinkId}");
return RedirectToAction(nameof(LinksController.Show), "Links", new { linkId = cmd.LinkId });
}
}
}