private async Task <IActionResult> TopicView(TopicModel topic) { if (topic == null) { return(NotFound()); } ViewBag.Title = topic.Title; var prevTopic = await TopicService.GetPrev(topic); var nextTopic = await TopicService.GetNext(topic); var relatedTopicList = await TopicService.QueryRelated(topic); var commentList = await CommentService.QueryByTopic(topic.ID); var vm = new TopicPageViewModel { AllowComment = topic.AllowComment, Topic = topic, PrevTopic = prevTopic, NextTopic = nextTopic, RelatedTopicList = relatedTopicList, CommentList = commentList }; return(View("Topic", vm)); }
// GET: Topic public ActionResult Item(int id, int page = 0) { var topicPage = new TopicPageViewModel(); int pageSize = 10; var topicDto = _topicService.GetElement(id, page * pageSize, pageSize); topicPage.TopicInfoView = Mapper.Map <TopicInfoViewModel>(topicDto); topicPage.PageInfo = new Page { CountOfPage = (_topicService.GetCountOfPostByTopicId(id) / pageSize), CurrentPage = page }; return(View(topicPage)); }
private async Task <IActionResult> TopicView(TopicModel topic) { if (topic == null) { return(NotFound()); } if (topic.Status != Core.Enums.TopicStatus.Published && !this.ClientManager.IsLogin) { return(NotFound()); } ViewBag.Title = topic.Title; var prevTopic = await TopicService.GetPrev(topic); var nextTopic = await TopicService.GetNext(topic); var relatedTopicList = await TopicService.QueryRelated(topic); var commentList = await CommentService.QueryByTopic(topic.ID); var vm = new TopicPageViewModel { AllowComment = this.TopicService.CanComment(topic), Topic = topic, PrevTopic = prevTopic, NextTopic = nextTopic, RelatedTopicList = relatedTopicList, CommentList = commentList, CommentForm = new CommentFormModel() }; vm.CommentForm.Name = Request.Cookies[Cookie_CommentName]; vm.CommentForm.Email = Request.Cookies[Cookie_CommentEmail]; return(View("Topic", vm)); }