public MultipleVote GetEntity(MultipleVoteItem multipleVote) { return(new MultipleVote { MultipleVoteId = multipleVote.MultipleVoteItemId, Candidate = CandidateBuilder.GetEntity(multipleVote.CandidateItem), IsWriteIn = multipleVote.IsWriteIn }); }
public List <VoteResult> AddMultiVoteWriteInToElection(List <VoteResult> electionResults, MultipleVoteItem voteItem, Guid ballotId, MultipleVoteItem existingVoteItem) { var multiVote = CheckForExistingCandidate(voteItem, existingVoteItem); var multiVoteId = Context.MultipleVotes.FirstOrDefault(x => x.CandidateId == multiVote.CandidateId); if (multiVoteId == null) { var builder = new MultiVoteTicketBuilder(); var multiVoteItem = new MultipleVoteItem() { MultipleVoteItemId = Guid.NewGuid(), CandidateItem = new CandidateItem() { CandidateId = Guid.NewGuid(), Name = voteItem.CandidateItem.Name, JobId = existingVoteItem.CandidateItem.JobId }, IsWriteIn = true }; Context.MultipleVotes.Add(builder.GetEntity(multiVoteItem)); Context.SaveChanges(); electionResults.Add(new VoteResult { VoteResultsId = Guid.NewGuid(), BallotId = ballotId, MultipleVoteId = multiVoteItem.MultipleVoteItemId, VotedFor = voteItem.VotedFor, }); } else { electionResults.Add(new VoteResult { VoteResultsId = Guid.NewGuid(), BallotId = ballotId, MultipleVoteId = multiVoteId.MultipleVoteId, VotedFor = voteItem.VotedFor, }); } return(electionResults); }
private CandidateItem CheckForExistingCandidate(MultipleVoteItem voteItem, MultipleVoteItem existingVoteItem) { var builder = new CandidateBuilder(); var existingWriteIn = Context.Candidates.FirstOrDefault(x => x.Name == voteItem.CandidateItem.Name && x.JobId == existingVoteItem.CandidateItem.JobId); CandidateItem subCandidateItem; if (existingWriteIn != null) { subCandidateItem = builder.GetModel(existingWriteIn); } else { subCandidateItem = new VotingApp.Models.CandidateItem() { CandidateId = Guid.NewGuid(), Name = voteItem.CandidateItem.Name, JobId = existingVoteItem.CandidateItem.JobId }; } return(subCandidateItem); }