public ActionResult Detail(int id, bool errorFromCommentInput=false)
{
//ViewBag.FaceBookAppId = ConfigurationManager.AppSettings["facebook.appid"];
//ViewBag.FaceBookAppSecret = ConfigurationManager.AppSettings["facebook.appsecret"];
var post = DbContext.Posts.SingleOrDefault(p => p.Id == id);
if (post == null)
return HttpNotFound();
var md = new Markdown();
md.SafeMode = true;
md.ExtraMode = true;
post.Content = md.Transform(post.Content);
var postDetailViewModel = Mapper.Map<Post, PostDetailViewModel>(post);
postDetailViewModel.Tags = post.Tags.ConverTagToStringArray();
// set Commenter to post comment
var commentInputData = TempData["commentInputData"] as CommentInput; // tempdata when modelstateerror occurred in /Comment/Write
if (errorFromCommentInput && commentInputData != null)
{
var modelStateErrors = TempData["commentInputDataErrors"] as Dictionary<string, string>;
foreach (var item in modelStateErrors)
{
ModelState.AddModelError(item.Key, item.Value);
}
postDetailViewModel.CommentInput = commentInputData as CommentInput;
}
else
{
SetCommenter(postDetailViewModel);
}
return View("Detail", postDetailViewModel);
}