コード例 #1
0
        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());
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        //投票模型初始化
        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);
        }