예제 #1
0
        public ActionResult Current()
        {
            var current = voteRepository.FindCurrent();
            if ( current == null )
                return View();

            var answers = voteRepository.FindVoteAnswers( current.id );
            var votesByUsers = voteRepository.FindVotesByUser( current.id );
            var total = votesByUsers.Count();
            foreach (var answer in answers)
            {
                var orderN = answer.order_n;
                var answerCount = votesByUsers.Where( a => a.answer_n == orderN ).Count();
                ViewData["CountOfAnswer" + orderN] = answerCount;
                var percent = total != 0 ? answerCount * 100 / total : 0;
                ViewData["PercentOfAnswer" + orderN] = percent;
            }

            ViewData["AlreadyVoted"] = false;
            if (User.Identity.IsAuthenticated)
            {
                var currentUserId = voteRepository.GetUserId( User.Identity.Name );
                if (votesByUsers.Where( v => v.user_id == currentUserId ).Count() != 0)
                {
                    ViewData["AlreadyVoted"] = true;
                }
            }

            var voting = new Voting{ Vote = current, Answers = answers };
            return View( voting );
        }
예제 #2
0
        public ActionResult Edit(Int64 id)
        {
            var vote = voteRepository.GetVote( id );
            var voteAnswers = voteRepository.FindVoteAnswers( id );

            var voting = new Voting {Vote = vote, Answers = voteAnswers};

            return View( voting );
        }