public void AddAWriteInCanididate() { var _context = new VotingContext(); var _manager = new VotingManager(); var builder = new RankingVoteTicketBuilder(); var RankingVoteItem = new RankingVoteItem { RankingVoteItemId = Guid.NewGuid(), PrimeCandidateItem = new VotingApp.Models.CandidateItem() { CandidateId = Guid.NewGuid(), Name = "Test", JobId = Guid.Parse("521C573E-91E8-47CA-ACBC-BF3D63706F29") }, SubCandidateItem = new VotingApp.Models.CandidateItem() { CandidateId = Guid.NewGuid(), Name = "Vice Test", JobId = Guid.Parse("057A2ED5-CDE9-44DB-9697-041B0F09555F") }, Ranking = 1 }; _manager.Context.RankingVotes.Add(builder.GetEntity(RankingVoteItem)); _manager.Context.SaveChanges(); }
private CandidateItem CheckForExistingPrimeCandidate(RankingVoteItem voteItem, RankingVoteItem existingVoteItem) { var existingPrimeWriteIn = Context.Candidates.FirstOrDefault(x => x.Name == voteItem.PrimeCandidateItem.Name && x.JobId == existingVoteItem.PrimeCandidateItem.JobId); var builder = new CandidateBuilder(); CandidateItem primeCandidateItem; if (existingPrimeWriteIn != null) { primeCandidateItem = builder.GetModel(existingPrimeWriteIn); } else { primeCandidateItem = new CandidateItem() { CandidateId = Guid.NewGuid(), Name = voteItem.PrimeCandidateItem.Name, JobId = existingVoteItem.PrimeCandidateItem.JobId }; } return(primeCandidateItem); }
public RankingVote GetEntity(RankingVoteItem rankingVote) { return(new RankingVote() { RankingVoteId = rankingVote.RankingVoteItemId, PrimeCandidate = CandidateBuilder.GetEntity(rankingVote.PrimeCandidateItem), SubCandidate = CandidateBuilder.GetEntity(rankingVote.SubCandidateItem), IsWriteIn = rankingVote.IsWriteIn }); }
public List <VoteResult> AddRankingWriteInToElection(List <VoteResult> electionResults, RankingVoteItem voteItem, Guid ballotId, RankingVoteItem existingVoteItem) { var primeCandidateItem = CheckForExistingPrimeCandidate(voteItem, existingVoteItem); var subCandidateItem = CheckForExistingSubCandidate(voteItem, existingVoteItem); var rankingVoteId = Context.RankingVotes.FirstOrDefault(x => x.PrimeCandidateId == primeCandidateItem.CandidateId || x.SubCandidateId == subCandidateItem.CandidateId); if (rankingVoteId == null) { var rankingVoteItem = new RankingVoteItem { RankingVoteItemId = Guid.NewGuid(), PrimeCandidateItem = primeCandidateItem, SubCandidateItem = subCandidateItem, IsWriteIn = true }; var builder = new RankingVoteTicketBuilder(); Context.RankingVotes.Add(builder.GetEntity(rankingVoteItem)); Context.SaveChanges(); electionResults.Add(new VoteResult { VoteResultsId = Guid.NewGuid(), BallotId = ballotId, RankingVoteId = rankingVoteItem.RankingVoteItemId, Ranking = voteItem.Ranking, }); } else { electionResults.Add(new VoteResult { VoteResultsId = Guid.NewGuid(), BallotId = ballotId, RankingVoteId = rankingVoteId.RankingVoteId, Ranking = voteItem.Ranking, }); } return(electionResults); }