Пример #1
0
        /// <summary>
        /// 泛用标签
        /// </summary>
        /// <param name="RankTagDic"></param>
        /// <param name="TagCntDic"></param>
        /// <returns></returns>
        public static AsideColumnBody CreateTagRankAside(RankContain rankContain, int TagCnt)
        {
            var titlelist = new AsideColumnBody()
            {
                Title      = "标签一览",
                DetailItem = GetGenericItemListByRankContain(rankContain, TagCnt),
                HrefBase   = "/Home/TagList?PageNo=1&TagName="
            };

            return(titlelist);
        }
Пример #2
0
        /// <summary>
        /// 获得Rank
        /// </summary>
        /// <param name="rankContain"></param>
        /// <param name="ItemCount"></param>
        /// <param name="TransformDisplay"></param>
        /// <returns></returns>
        private static List <GenericItem> GetGenericItemListByRankContain(RankContain rankContain, int ItemCount, Func <string, string> TransformDisplay = null)
        {
            var DetailItem = new List <GenericItem>();

            for (int i = 0; i < Math.Min(ItemCount, rankContain.RankList.Count); i++)
            {
                DetailItem.Add(new GenericItem()
                {
                    Display = TransformDisplay == null ? rankContain.RankList[i].Key : TransformDisplay(rankContain.RankList[i].Key),
                    Cnt     = rankContain.RankList[i].Count,
                    KeyId   = rankContain.RankList[i].Key
                });
            }
            return(DetailItem);
        }
Пример #3
0
        /// <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());
        }
Пример #4
0
        /// <summary>
        /// 加载标签
        /// </summary>
        public static void Init()
        {
            Tags = Tag.GetAllTags();
            List <string> officeTag = new List <string>();

            //必须先初始化
            CustomNewTags.Clear();
            foreach (var tag in Tags)
            {
                officeTag.Add(tag.TagName);
            }
            //统计文章,通过首页审核文章
            var articles = MongoDbRepository.GetRecList <Article>();

            TagRankContain         = Statistics(articles);
            TagTwoComboRankContain = StatisticsTwoCombo(articles);
            foreach (var article in articles)
            {
                //防御代码
                if (string.IsNullOrEmpty(article.CustomTagList))
                {
                    article.CustomTagList = string.Empty;
                }
                article.TagName = GetTagNameList(article.Title, article.CustomTagList);
                foreach (var tag in article.TagName)
                {
                    if (!officeTag.Contains(tag) && !CustomNewTags.Contains(tag))
                    {
                        CustomNewTags.Add(tag);
                    }
                }
                Article.UpdateArticle(article);
            }
            var topics = Topic.getAllTopic();

            foreach (var topic in topics)
            {
                //防御代码
                if (string.IsNullOrEmpty(topic.CustomTagList))
                {
                    topic.CustomTagList = string.Empty;
                }
                topic.TagName = GetTagNameList(topic.Title, topic.CustomTagList);
                foreach (var tag in topic.TagName)
                {
                    if (!officeTag.Contains(tag) && !CustomNewTags.Contains(tag))
                    {
                        CustomNewTags.Add(tag);
                    }
                }
                Topic.UpdateTopic(topic);
            }
            var collections = Collection.getAllSerial();

            foreach (var collection in collections)
            {
                //防御代码
                if (string.IsNullOrEmpty(collection.CustomTagList))
                {
                    collection.CustomTagList = string.Empty;
                }
                collection.TagName = GetTagNameList(collection.Title, collection.CustomTagList);
                foreach (var tag in collection.TagName)
                {
                    if (!officeTag.Contains(tag) && !CustomNewTags.Contains(tag))
                    {
                        CustomNewTags.Add(tag);
                    }
                }
                Collection.UpdateCollection(collection);
            }
        }