public ActionResult FeaturedInterestTopic(String sex, String pn)
        {
            #region Metas version
            SetMetasVersion();
            #endregion

            int publishedTopicSex = 0;

            String cookieFeaturedInterestTopic = Common.Comm.GetCookie("FeaturedInterestTopicMemberSex");
            if (cookieFeaturedInterestTopic == null)
            {
                if (sex == "" || sex == null)
                {
                    sex = "11";
                }
            }
            else
            {
                if (sex == "" || sex == null)
                {
                    sex = cookieFeaturedInterestTopic;
                }
            }

            switch (sex)
            {
                case "10": publishedTopicSex = 1; break;
                case "01": publishedTopicSex = 2; break;
                case "11": publishedTopicSex = 0; break;
                default: break;
            }

            Common.Comm.SetCookie("FeaturedInterestTopicMemberSex", sex, Common.CookieOrSessionExpiresTime.OneMonth);

            //Common.Comm.SetCookie("TopicToBoy", sex.Substring(0, 1), Models.CookieOrSessionExpiresTime.OneMonth);
            //Common.Comm.SetCookie("TopicToGirl", sex.Substring(1, 1), Models.CookieOrSessionExpiresTime.OneMonth);
            //String boycookie = Common.Comm.GetCookie("TopicToBoy");
            //String girlcookie = Common.Comm.GetCookie("TopicToGirl");
            //switch (boycookie + girlcookie)
            //{
            //    case "10": publishedTopicSex = 1; break;
            //    case "01": publishedTopicSex = 2; break;
            //    case "11": publishedTopicSex = 0; break;
            //    default: break;
            //}

            //只允许已经登录用户访问自己
            bool alreadyLogin = true;
            int pageNo = 1, pageSize = 10;

            if (!Int32.TryParse(pn, out pageNo)) pageNo = 1;
            pageSize = (pageNo == 1 ? 10 : 30);
            String userId = HttpContext.User.Identity.Name;

            #region 构造页面数据对象
            Models.MemberFullDisplayObj memberDisplayObj = Models.DisplayObjProvider.getMemberFullDisplayObj(userId);

            double pageCount = WenWenController.GetFeaturedInterestTopic(publishedTopicSex, 0, 0).Count;

            IList<CBB.RankingHelper.RankingList> dailyInterestRankingList = BiZ.Ranking.InterestRanking.GetDailyInterestRankingList(8); //获取兴趣日排名

            List<String> interestIdList = new List<string>();
            foreach (var interest in dailyInterestRankingList) interestIdList.Add(interest.ObjID);
            String[] interestIds = (String[])interestIdList.ToArray();
            //获取兴趣日排名
            IList<BiZ.InterestCenter.Interest> dailyInterestRankingInterestList = BiZ.InterestCenter.InterestFactory.GetInterest(interestIds);
            //按兴趣编号和发布用户的性别获取话题
            IList<BiZ.WenWen.WenWen> latestWenWenList = BiZ.WenWen.WenWenProvider.GetInterestIDSexTopics("", 4, 1, publishedTopicSex);
            //按兴趣话题发布者性别获取精选兴趣话题
            IList<BiZ.WenWen.WenWen> featuredInterestTopicList = WenWenController.GetFeaturedInterestTopic(publishedTopicSex, pageSize, pageNo);

            Dictionary<BiZ.WenWen.WenWen, BiZ.WenWen.WenWen> leftRightFeaturedTopicLists = WenWenController.TypesettingFeaturedInterestTopics(featuredInterestTopicList);
            List<Moooyo.BiZ.WenWen.WenWen> leftTopicList = leftRightFeaturedTopicLists.Keys.ToList();
            List<Moooyo.BiZ.WenWen.WenWen> rightTopicList = leftRightFeaturedTopicLists.Values.ToList();

            //页面数据对象
            Models.PageModels.MemberFeaturedInterestTopicModel memberFeaturedInterestTopicModel = new Models.PageModels.MemberFeaturedInterestTopicModel(memberDisplayObj, dailyInterestRankingList, dailyInterestRankingInterestList, latestWenWenList, leftTopicList, rightTopicList);

            memberFeaturedInterestTopicModel.UserID = userId;
            memberFeaturedInterestTopicModel.MemberID = userId;
            memberFeaturedInterestTopicModel.AlreadyLogon = alreadyLogin;
            memberFeaturedInterestTopicModel.Pagger = new Models.PaggerObj();
            int pageCounts = (int)Math.Ceiling(pageCount / pageSize);
            memberFeaturedInterestTopicModel.Pagger.PageCount = pageCounts;
            memberFeaturedInterestTopicModel.Pagger.PageSize = pageSize;
            memberFeaturedInterestTopicModel.Pagger.PageNo = pageNo;
            memberFeaturedInterestTopicModel.Pagger.PageUrl = "/InterestCenter/FeaturedInterestTopic/" + sex + "/";

            memberFeaturedInterestTopicModel.boyPublishedTopics = sex.Substring(0, 1);
            memberFeaturedInterestTopicModel.girlPublishedTopics = sex.Substring(1, 1);
            memberFeaturedInterestTopicModel.allMemberCount = BiZ.MemberManager.MemberManager.GetAllMemberCount();
            memberFeaturedInterestTopicModel.publishedTopicSex = publishedTopicSex;
            memberFeaturedInterestTopicModel.pagecount = Convert.ToInt32(pageCount);
            #endregion

            return View(memberFeaturedInterestTopicModel);
        }
Exemple #2
0
 public ActionResult GetTypesetFeaturedInterestTopic(int publishedTopicSex, int pageSize = 0, int pageNo = 0)
 {
     IList<BiZ.WenWen.WenWen> featuredInterestTopicList = GetFeaturedInterestTopic(publishedTopicSex, pageSize, pageNo);
     Dictionary<BiZ.WenWen.WenWen, BiZ.WenWen.WenWen> leftRightFeaturedTopicLists = WenWenController.TypesettingFeaturedInterestTopics(featuredInterestTopicList);
     List<Moooyo.BiZ.WenWen.WenWen> leftTopicList = leftRightFeaturedTopicLists.Keys.ToList();
     List<Moooyo.BiZ.WenWen.WenWen> rightTopicList = leftRightFeaturedTopicLists.Values.ToList();
     Models.PageModels.MemberFeaturedInterestTopicModel memberFeaturedInterestTopicModel = new Models.PageModels.MemberFeaturedInterestTopicModel(leftTopicList, rightTopicList);
     return Json(new JavaScriptSerializer().Serialize(memberFeaturedInterestTopicModel));
 }