Example #1
0
        public ActionResult DoVote(int nominationId)
        {
            DisplayNomineeEntry displayNomineeEntry = GetNomineeForVoting(nominationId);

            if (displayNomineeEntry == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            // Everything validated, checked, etc. Let's do it!
            NominationEntry nominationEntry = displayNomineeEntry.ModelEntry;

            // Record that the student has voted for this position
            db.StudentVoteRecords.Add(new StudentVoteRecord()
            {
                Position = nominationEntry.Position,
                Username = User.Identity.GetUserId()
            });

            // Record the vote for this candidate
            Vote vote = new Vote
            {
                NominationEntry = nominationEntry,
                VotedAt         = DateTime.Now
            };

            db.Votes.Add(vote);
            db.SaveChanges();

            AuditLogManager.RecordVoteCast(vote);

            return(RedirectToAction("Vote", new { id = nominationEntry.Position.Election.Id }));
        }
Example #2
0
        public ActionResult VoteConfirmation(int nominationId)
        {
            DisplayNomineeEntry entry = GetNomineeForVoting(nominationId);

            if (entry == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            return(View(entry));
        }