/// <summary>
        /// 个人首页
        /// </summary>
        /// <returns></returns>
        public ActionResult PersonIndex(int PageNo = 1)
        {
            if (Session[ConstHelper.Session_USERID] == null)
            {
                return(Redirect("/Home/Index"));
            }
            var u = UserInfo.GetUserInfoBySn(Session[ConstHelper.Session_USERID].ToString());

            ArticleListManager.ArticleQueryFilter filter = ArticleListManager.FirstPageArticleQueryFileter;
            //难度和分类
            filter.Levelist    = u.Level.Count == 0 ? null : u.Level.ToArray();
            filter.Cataloglist = u.Catalog.Count == 0 ? null : u.Catalog.ToArray();
            filter.ContainTag  = string.IsNullOrEmpty(u.ContainTag) ? null : u.ContainTag.Split(";".ToArray());
            filter.AntiTag     = string.IsNullOrEmpty(u.AntiTag) ? null : u.AntiTag.Split(";".ToArray());
            //TODO:标签
            Pages p = new Pages(ArticleListManager.GetArticleCnt(filter), 20)
            {
                CurrentPageNo = PageNo
            };
            var currentpageList = ArticleListManager.GetPublicListForArticleByPage(p, filter);

            ViewData.Model      = currentpageList;
            ViewBag.TopArticle  = ArticleListManager.GetTopArticle();
            ViewBag.Pages       = p;
            ViewBag.TopArticle  = ArticleListManager.GetTopArticle();
            ViewBag.AsideFirst  = ASideColumnManager.MostArticleAuthor(10);
            ViewBag.AsideSecond = ASideColumnManager.MostHotTag(10);
            ViewBag.AsideThird  = ASideColumnManager.HotArticle(10, 72);
            return(View());
        }
 /// <summary>
 /// 系列教程一览
 /// </summary>
 /// <returns></returns>
 public ActionResult SerialList()
 {
     ViewData.Model      = Collection.getAllSerial();
     ViewBag.TopArticle  = ArticleListManager.GetTopArticle();
     ViewBag.AsideFirst  = ASideColumnManager.MostArticleAuthor(10);
     ViewBag.AsideSecond = ASideColumnManager.MostHotTag(10);
     ViewBag.AsideThird  = ASideColumnManager.HotArticle(10, 72);
     return(View());
 }
        /// <summary>
        /// 首页文章加载
        /// </summary>
        /// <param name="PageNo"></param>
        /// <returns></returns>
        public ActionResult Index(int PageNo = 1)
        {
            Pages p = new Pages(ArticleListManager.GetArticleCnt(ArticleListManager.FirstPageArticleQueryFileter), 20)
            {
                CurrentPageNo = PageNo
            };
            var currentpageList = ArticleListManager.GetPublicListForArticleByPage(p, ArticleListManager.FirstPageArticleQueryFileter);

            ViewData.Model      = currentpageList;
            ViewBag.TopArticle  = ArticleListManager.GetTopArticle();
            ViewBag.Pages       = p;
            ViewBag.AsideFirst  = ASideColumnManager.MostArticleAuthor(10);
            ViewBag.AsideSecond = ASideColumnManager.MostHotTag(10);
            ViewBag.AsideThird  = ASideColumnManager.HotArticle(10, 72);
            return(View());
        }
        /// <summary>
        /// 标签列表
        /// </summary>
        /// <param name="TagName"></param>
        /// <returns></returns>
        public ActionResult TagList(string TagName, int PageNo = 1)
        {
            var   articles = Article.GetArticleListByTag(TagName);
            Pages p        = new Pages(articles.Count, 50)
            {
                CurrentPageNo = PageNo
            };

            ViewBag.TagArticleCnt = articles.Count;
            ViewBag.Pages         = p;
            var articlebodys = ArticleListManager.GetArticleItemBodyListByArticleList(p.GetList(articles));

            ViewBag.MostAuthorByTag = ASideColumnManager.GetMostAuthorByTag(TagName, 10);
            ViewData.Model          = articlebodys;
            ViewBag.TagStockCnt     = articlebodys.Sum((x) => { return(x.StockCnt); });
            ViewBag.Title           = TagName;
            return(View());
        }
Beispiel #5
0
        /// <summary>
        /// 收藏页
        /// </summary>
        /// <param name="accountid"></param>
        /// <param name="PageNo"></param>
        /// <returns></returns>
        public ActionResult StockPage(int PageNo = 1)
        {
            if (Session[ConstHelper.Session_USERID] == null)
            {
                return(Redirect("/"));
            }
            var   accountid = Session[ConstHelper.Session_USERID].ToString();
            var   StockList = Stock.GetStockByAccount(accountid);
            Pages p         = new Pages(StockList.Count, 50);

            p.CurrentPageNo = PageNo;
            ViewBag.Pages   = p;
            ViewData.Model  = p.GetList(StockList);
            ViewBag.Title   = "收藏页";
            var rankContain = TagUtility.Statistics((StockList.Select((x) => { return(x.ArticleInfo); }).ToList()));

            ViewBag.PersonalStockAside = ASideColumnManager.CreateTagRankAside(rankContain, 10);
            return(View());
        }
        /// <summary>
        /// 统计
        /// </summary>
        /// <returns></returns>
        public ActionResult Statistics()
        {
            //标签
            ViewBag.TagChartName = "/Temp/" + DateTime.Now.ToString("yyyyMMdd") + "_Tag.jpeg";
            string tagFilename = Server.MapPath(ViewBag.TagChartName);

            if (!System.IO.File.Exists(tagFilename))
            {
                var tagDictionary = new Dictionary <string, int>();
                for (int i = 0; i < Math.Min(10, TagUtility.TagRankContain.RankList.Count); i++)
                {
                    tagDictionary.Add(TagUtility.TagRankContain.RankList[i].Key, TagUtility.TagRankContain.RankList[i].Count);
                }
                InfraStructure.Chart.ChartHelper.GetColumnChart(tagFilename, "标签数量TOP10", tagDictionary, InfraStructure.Chart.ChartType.Column, 800, 600);
            }

            //作者
            ViewBag.AuthorChartName = "/Temp/" + DateTime.Now.ToString("yyyyMMdd") + "_Author.jpeg";
            string authorFilename = Server.MapPath(ViewBag.AuthorChartName);
            var    userRank       = new RankContain(UserManager.UserGroupCntResult());

            ViewBag.UserRank = userRank;
            if (!System.IO.File.Exists(authorFilename))
            {
                var userDictionary = new Dictionary <string, int>();
                for (int i = 0; i < Math.Min(10, userRank.RankList.Count); i++)
                {
                    userDictionary.Add(UserInfo.GetUserNickNameByAccountId(userRank.RankList[i].Key), userRank.RankList[i].Count);
                }
                InfraStructure.Chart.ChartHelper.GetColumnChart(authorFilename, "作者TOP10", userDictionary, InfraStructure.Chart.ChartType.Column, 800, 600);
            }


            ViewBag.AsideFirst  = ASideColumnManager.MostArticleAuthor(10);
            ViewBag.AsideSecond = ASideColumnManager.MostHotTag(10);
            ViewBag.AsideThird  = ASideColumnManager.HotArticle(10, 72);
            return(View());
        }
Beispiel #7
0
        /// <summary>
        /// 作者页
        /// </summary>
        /// <param name="accountid"></param>
        /// <returns></returns>
        public ActionResult Index(string CollectionId, string accountid)
        {
            if (accountid == null)
            {
                return(Redirect("/"));
            }
            var user = UserInfo.GetUserInfoBySn(accountid);

            if (user == null)
            {
                return(Redirect("/"));
            }

            var collectionlist = Collection.GetCollectionListByOwnerId(accountid);

            if (CollectionId == "0")
            {
                if (collectionlist.Count > 0)
                {
                    CollectionId = collectionlist[0].Sn;
                }
            }

            ViewBag.CollectionId   = CollectionId;
            ViewBag.CollectionList = collectionlist;
            if (collectionlist.Count == 0)
            {
                //如果没有文集,则什么都不显示
                ViewBag.CollectionArticles = new List <Article>();
            }
            else
            {
                //显示第一个或者指定文集
                var CurrentCollectionId = string.IsNullOrEmpty(CollectionId) ? collectionlist[0].Sn : CollectionId;
                ArticleListManager.ArticleQueryFilter aqf = new ArticleListManager.ArticleQueryFilter()
                {
                    collectionid = CurrentCollectionId,
                    isPrivate    = false,
                    statuslist   = new ApproveStatus[] { ApproveStatus.Accept, ApproveStatus.NotNeed }
                };
                if (Session[ConstHelper.Session_USERID] != null && Session[ConstHelper.Session_USERID].ToString().Equals(accountid))
                {
                    //自己看自己
                    aqf.isPrivate  = null;
                    aqf.statuslist = null;
                }
                var ArticleList = ArticleListManager.GetArticleItemBodyListByArticleList(ArticleListManager.GetArticles(aqf));
                ViewBag.CollectionArticles = ArticleList;
            }
            var userbody = UserManager.GetUserBody(accountid);

            ViewData.Model = userbody;
            ViewBag.Title  = user.NickName;
            ArticleListManager.ArticleQueryFilter publicAQF = new ArticleListManager.ArticleQueryFilter()
            {
                ownid      = accountid,
                isPrivate  = false,
                statuslist = new ApproveStatus[] { ApproveStatus.Accept, ApproveStatus.NotNeed }
            };
            var articles    = ArticleListManager.GetArticles(publicAQF);
            var rankContain = TagUtility.Statistics(articles);

            ViewBag.PersonalTagAside   = ASideColumnManager.CreateTagRankAside(rankContain, 10);
            ViewBag.PersonalHobbyAside = ASideColumnManager.TagHobby(accountid, 10);
            ViewBag.RankTagDic         = rankContain.RankKeyDic;
            return(View());
        }