示例#1
0
        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));
        }
示例#2
0
        // 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));
        }
示例#3
0
        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));
        }