//获取投票人数 public int getVoteCount(Question q) { VoteDao votedao = new VoteDao(); List <Vote> votelist = votedao.getByQuestion(q); QuestionDao questiondao = new Dao.QuestionDao(); q.voteCount = votelist.Count; questiondao.update(q); return(q.voteCount); }
public ActionResult Search(String searchText) { SearchModel model = new Models.SearchModel(); model.search_content = ""; model.questions = new List <Question>(); if (searchText != null || !searchText.Equals("")) { model.search_content = searchText; QuestionDao questiondao = new Dao.QuestionDao(); model.questions = questiondao.search_title(searchText); } return(View(model)); }
public JsonResult GetMore(Models.Type t, int start, int size) { QuestionDao questiondao = new Dao.QuestionDao(); List <Question> list = null; if (t.ID == 0) { list = questiondao.getAll(start, size); } else { list = questiondao.getAll(t, start, size); } return(Json(list, JsonRequestBehavior.AllowGet)); }
//投票模型初始化 public VoteModel initVoteModel(int questionID) { VoteModel model = new Models.VoteModel(); QuestionDao questiondao = new Dao.QuestionDao(); Question q = questiondao.getById(questionID); model.questionID = questionID; model.userID = int.Parse(Request.Cookies["Menber"].Values["ID"]); model.tags = q.tags.Split('#'); model.postTime = q.postTime.ToLongDateString(); model.endTime = q.endTime.ToLongDateString(); model.title = q.title; model.options = q.queOption.Split('#'); model.optionNum = q.optionNum; model.votes = new VoteDao().getByQuestion(q); return(model); }
//查看已投票的问题 public ActionResult MyVote() { MyVoteModel model = new MyVoteModel(); UserDao userdao = new UserDao(); User user = userdao.getById(int.Parse(Request.Cookies["Menber"].Values["ID"])); VoteDao votedao = new VoteDao(); List <Vote> votes = votedao.getByUser(user); QuestionDao questiondao = new Dao.QuestionDao(); model.questions = new List <Question>(); foreach (Vote v in votes) { Question q = v.queID; model.questions.Add(q); } TypeDao typedao = new TypeDao(); model.types = typedao.getTypeList(); return(View(model)); }
//获取统计结果 public String getOptionData(Question q) { String optionData = null; VoteDao votedao = new VoteDao(); List <Vote> votelist = votedao.getByQuestion(q); if (q.optionNum == 1) { if (votelist.Count != 0) { int sum = 0; foreach (Vote v in votelist) { sum += int.Parse(v.voteRecord); } optionData = (sum / votelist.Count).ToString();//取投票结果的平均值 } else { optionData = 0.ToString();//没有投票记录时结果为0 } } else { //多选 [{'value':50,'name':'直接访问'},{'value':50,'name':'邮件营销'},{'value':50,'name':'联盟广告'},{'value':50,'name':'视频广告'},{'value':50,'name':'搜索引擎'}] JArray jarry = new JArray(); String[] names = q.queOption.Split('#'); int[] values = null; foreach (Vote v in votelist) { String[] records = v.voteRecord.Split('#'); int[] sum = new int[records.Length - 1]; //统计每个选项的总分 for (int i = 0; i < records.Length - 1; i++) { sum[i] += int.Parse(records[i]); } //计算平均分 for (int i = 0; i < sum.Length; i++) { sum[i] /= votelist.Count; } values = sum; } if (values == null) { values = new int[q.optionNum]; } //组装 for (int i = 0; i < names.Length - 1; i++) { JObject json = new JObject(); json["name"] = names[i]; json["value"] = values[i]; jarry.Add(json); } optionData = jarry.ToString(); } QuestionDao questiondao = new Dao.QuestionDao(); q.optionData = optionData; questiondao.update(q); return(q.optionData); }