Esempio n. 1
0
        /// <summary>
        /// 进入单篇文章
        /// </summary>
        /// <returns></returns>
        public ActionResult Index(string ArticleId)
        {
            if (string.IsNullOrEmpty(ArticleId))
            {
                return(Redirect("/"));
            }
            var article = Article.GetArticleBySn(ArticleId);

            if (article == null)
            {
                return(Redirect("/"));
            }
            if (!article.IsPrivate && (article.PublishStatus != ApproveStatus.Accept && article.PublishStatus != ApproveStatus.NotNeed))
            {
                //公开文章,但是没有发布
                return(Redirect("/"));
            }
            if (article.IsPrivate)
            {
                if (Session[ConstHelper.Session_USERID] == null)
                {
                    return(Redirect("/"));
                }
                if (!Session[ConstHelper.Session_USERID].ToString().Equals(article.OwnerId))
                {
                    return(Redirect("/"));
                }
            }
            //获得IP地址
            var visit = new Visitor()
            {
                UserAgent       = HttpContext.Request.UserAgent,
                UserHostAddress = HttpContext.Request.UserHostAddress,
                UserHostName    = HttpContext.Request.UserHostName,
                UserLanguages   = HttpContext.Request.UserLanguages.ToList(),
                ArticleID       = ArticleId,
                UserInfoId      = Session[ConstHelper.Session_USERID] != null ? Session[ConstHelper.Session_USERID].ToString() : null,
            };

            if (visit.IsSpider)
            {
                Visitor.InsertSpider(visit);
            }
            else
            {
                Visitor.InsertVisitor(visit);
            }
            var articlebody = ArticleListManager.GetArticleBodyById(ArticleId);

            ViewData.Model      = articlebody;
            ViewBag.CommentList = ArticleListManager.GetCommentBodyList(ArticleId);
            ViewBag.Title       = articlebody.ArticleInfo.Title;
            ViewBag.AuthorId    = articlebody.AuthorInfo.Sn;
            return(View());
        }