Exemple #1
0
        //话题下的所有问题,动态,时间排序
        public ActionResult newest(int id)//topic id
        {
            TopicNewestModel tm = new TopicNewestModel();

            tm.myUser            = db.Users.Find(getCookie("id"));
            tm.topic             = new TopicPreNext();
            tm.topic.topic       = db.Topics.Find(id);
            tm.topic.fatherTopic = db.Topics.Find(tm.topic.topic.TFatherID);
            tm.topic.childTopic  = db.Topics.Where(t => t.TFatherID == id).ToList();

            tm.question = new List <TopicInfo>();
            TopicQuestion temp = model.getBestAnswerByTopic(tm.topic.topic);

            for (int i = 0; i < tm.topic.topic.QuestionNum; i++)
            {
                TopicInfo questionInfo = new TopicInfo();
                questionInfo.topic     = temp.topic;
                questionInfo.question  = temp.question[i];
                questionInfo.hotAnswer = temp.HotAnswer[i];
                questionInfo.hotUser   = temp.HotUser[i];
                tm.question.Add(questionInfo);
            }
            List <TopicQuestion> childQuestion = new List <TopicQuestion>();

            for (int i = 0; i < tm.topic.childTopic.Count(); i++)
            {
                temp = model.getBestAnswerByTopic(tm.topic.childTopic[i]);
                for (int j = 0; j < tm.topic.childTopic[i].QuestionNum; j++)
                {
                    TopicInfo questionInfo = new TopicInfo();
                    questionInfo.topic     = tm.topic.childTopic[i];
                    questionInfo.question  = temp.question[j];
                    questionInfo.hotUser   = temp.HotUser[j];
                    questionInfo.hotAnswer = temp.HotAnswer[j];
                    tm.question.Add(questionInfo);
                }
            }
            tm.question = model.orderByQTime(tm.question);

            for (int i = 0; i < tm.question.Count(); i++)
            {
                tm.question[i].timeSpan = model.getTimeSpan(tm.question[i].question.QTime);
            }

            IEnumerable <FollowTopic> IsFocus = db.FollowTopics.Where(a => a.FollowingTID == tm.topic.topic.TID).Where(b => b.FTUserID == tm.myUser.UID);

            if (IsFocus.Count() != 0)
            {
                ViewBag.flag = "focus";
            }
            else
            {
                ViewBag.flag = "nofocus";
            }
            return(View(tm));
        }
Exemple #2
0
        //获取某话题下的问题和某个评价最好的答案
        public TopicQuestion getBestAnswerByTopic(Topic topic)
        {
            TopicQuestion tq = new TopicQuestion();

            tq.topic     = topic;
            tq.question  = new List <Question>();
            tq.question  = db.Questions.Where(d => d.QTopicType1 == topic.TID).ToList();
            tq.HotAnswer = new List <Answer>();
            tq.HotUser   = new List <User>();
            for (int i = 0; i < tq.question.Count(); i++)
            {
                Answer answer = getHotAnswerByQuestionID(tq.question[i].QID);
                tq.HotAnswer.Add(answer);
                tq.HotUser.Add(findUserByID(answer.AUserID));
            }
            return(tq);
        }
Exemple #3
0
 //获取某话题下的问题和某个评价最好的答案
 public TopicQuestion getBestAnswerByTopic(Topic topic)
 {
     TopicQuestion tq = new TopicQuestion();
     tq.topic = topic;
     tq.question = new List<Question>();
     tq.question = db.Questions.Where(d => d.QTopicType1 == topic.TID).ToList();
     tq.HotAnswer = new List<Answer>();
     tq.HotUser = new List<User>();
     for (int i = 0; i < tq.question.Count(); i++)
     {
         Answer answer = getHotAnswerByQuestionID(tq.question[i].QID);
         tq.HotAnswer.Add(answer);
         tq.HotUser.Add(findUserByID(answer.AUserID));
     }
     return tq;
 }