protected ElectionAnalyzerCore(IAnalyzerFakes fakes, Election election, List<Person> people, List<Ballot> ballots, List<vVoteInfo> voteinfos) { _election = election; _resultSummary = fakes.ResultSummary; _resultTies = new List<ResultTie>(); _results = new List<Result>(); _people = people; _ballots = ballots; _voteinfos = voteinfos; _votes = voteinfos.Select(vi => new Vote {C_RowId = vi.VoteId}).ToList(); _deleteResult = fakes.RemoveResult; _addResult = fakes.AddResult; _saveChanges = fakes.SaveChanges; _deleteResultTie = fakes.RemoveResultTie; _addResultTie = fakes.AddResultTie; }
public void AddResultSummaryToDb(ResultSummary item) { ResultSummaries.Add(item); }
protected void UpdateSummaryFromPeopleRecords(ResultSummary summary) { summary.NumEligibleToVote = People.Count(p => !p.IneligibleReasonGuid.HasValue && p.CanVote.AsBoolean()); summary.NumVoters = People.Count(p => p.VotingMethod.HasContent()); summary.InPersonBallots = People.Count(p => p.VotingMethod == VotingMethodEnum.InPerson); summary.MailedInBallots = People.Count(p => p.VotingMethod == VotingMethodEnum.MailedIn); summary.DroppedOffBallots = People.Count(p => p.VotingMethod == VotingMethodEnum.DroppedOff); summary.CalledInBallots = People.Count(p => p.VotingMethod == VotingMethodEnum.CalledIn); }
protected void DoFinalAnalysis(ResultSummary summary) { // remove any results no longer needed Results.Where(r => r.VoteCount.AsInt() == 0).ToList().ForEach(r => RemoveResult(r)); // remove any existing Tie info ResultTies.ForEach(rt => RemoveResultTie(rt)); ResultTies.Clear(); DetermineOrderAndSections(); AnalyzeForTies(); summary.UseOnReports = summary.BallotsNeedingReview == 0 && ResultTies.All(rt => rt.IsResolved.AsBoolean()); SaveChanges(); }
private void ImportManualSummary() { var manualCountsXml = _xmlDoc.SelectSingleNode("//ManualResults") as XmlElement; if (manualCountsXml == null) return; // * OtherTellers="(Add other tellers here)" //-->not imported // * AdultsInCommunity="538" // * MailedInBallots="10" // * DroppedOffBallots="43" // * VotedInPerson="84" var results = new ResultSummary { ElectionGuid = _election.ElectionGuid, ResultType = ResultType.Manual, NumEligibleToVote = manualCountsXml.GetAttribute("AdultsInCommunity").AsInt(), MailedInBallots = manualCountsXml.GetAttribute("MailedInBallots").AsInt(), CalledInBallots = 0, DroppedOffBallots = manualCountsXml.GetAttribute("DroppedOffBallots").AsInt(), InPersonBallots = manualCountsXml.GetAttribute("VotedInPerson").AsInt() }; _storeResultSummary(results); }