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;
 }
Esempio n. 2
0
 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);
    }