public ActionResult CastVote(Models.VoteModel savemodel) { try { List <int> priorities = savemodel.Votes.Select(m => m.Priority).ToList(); if (savemodel.Votes.Any(m => priorities.Count(p => p == m.Priority) != 1)) { // invalid var model = GetModel(); model.VotesAreNotUnique = true; return(View("Index", model)); } else { SaveVoteModel model = new SaveVoteModel(); model.Email = savemodel.Email; model.Votes = savemodel.Votes.Select(v => new Repository.VoteRepository.VoteModel() { Location = v.LocationName, Priority = v.Priority }).ToList(); _voteRep.SaveVote(model); } return(RedirectToAction("Winner")); } catch { return(View()); } }
private Models.VoteModel GetModel() { var dto = _repo.RetrieveLocations(); var model = new Models.VoteModel(); model.Votes = dto.Select(d => new Vote() { LocationName = d.Name }).ToList(); model.MaxVote = dto.Count(); return(model); }
//投票模型初始化 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); }