public ResultsModel(Election election = null, IStatusUpdateHub hub = null) { _election = election ?? UserSession.CurrentElection; _analyzer = CurrentElection.IsSingleNameElection ? new ElectionAnalyzerSingleName(CurrentElection, hub) as IElectionAnalyzer : new ElectionAnalyzerNormal(CurrentElection, hub); }
protected ElectionAnalyzerCore(IAnalyzerFakes fakes) { IsFaked = true; _election = UserSession.CurrentElection; _hub = fakes.FakeHub; SharedDbContext = fakes.DbContext; Savers = new Savers(SharedDbContext); }
protected ElectionAnalyzerCore(Election election, IStatusUpdateHub hub = null) { _election = election; _hub = hub ?? Startup.ServiceProvider.GetService <IAnalyzeHubHelper>(); Savers = new Savers(SharedDbContext); }
public ElectionAnalyzerSingleName(Election election, IStatusUpdateHub hub = null) : base(election, hub) { }
//private ResultSummaryCacher _localResultSummaryCacher; protected ElectionAnalyzerCore() { _election = UserSession.CurrentElection; _hub = Startup.ServiceProvider.GetService <IAnalyzeHubHelper>(); Savers = new Savers(SharedDbContext); }
public ElectionAnalyzerNormal(Election election, IStatusUpdateHub hub = null) : base(election, hub) { }
protected ElectionAnalyzerCore(Election election, IStatusUpdateHub hub = null) { _election = election; _hub = hub ?? new AnalyzeHub(); Savers = new Savers(Db); }
//private ResultSummaryCacher _localResultSummaryCacher; protected ElectionAnalyzerCore() { _election = UserSession.CurrentElection; _hub = new AnalyzeHub(); Savers = new Savers(Db); }
/// <summary> /// Ensure the flags match the Guid /// </summary> /// <param name="people"></param> /// <param name="hub"></param> /// <param name="personSaver"></param> public void EnsureFlagsAreRight(List <Person> people, IStatusUpdateHub hub, Action <DbAction, Person> personSaver) { hub.StatusUpdate("Reviewing people", true); var currentElectionGuid = UserSession.CurrentElectionGuid; // var defaultCanVote = UserSession.CurrentElection.CanVote == "A"; // var defaultCanReceiveVotes = UserSession.CurrentElection.CanReceive == "A"; var numDone = 0; foreach (var person in people) { var changesMade = false; numDone++; if (numDone % 10 == 0) { hub.StatusUpdate("Reviewed {0} people".FilledWith(numDone), true); } if (currentElectionGuid != person.ElectionGuid) { hub.StatusUpdate("Found unexpected person. Please review. Name: " + person.C_FullName); } var matchedReason = IneligibleReasonEnum.Get(person.IneligibleReasonGuid); if (person.IneligibleReasonGuid.HasValue && matchedReason == null) { personSaver(DbAction.Attach, person); person.IneligibleReasonGuid = IneligibleReasonEnum.Ineligible_Other; hub.StatusUpdate("Found unknown ineligible reason. Set to Unknown. Name: " + person.C_FullName); changesMade = true; } if (ApplyVoteReasonFlags(person)) { personSaver(DbAction.Attach, person); changesMade = true; } // var reason = IneligibleReasonEnum.Get(person.IneligibleReasonGuid); // if (reason == null) // { // unknownIneligibleGuid = true; // } // else // { // var canVote = reason.CanVote; // var canReceiveVotes = reason.CanReceiveVotes; // // if (canVote != person.CanVote || canReceiveVotes != person.CanReceiveVotes) // { // personSaver(DbAction.Attach, person); // person.CanVote = canVote; // person.CanReceiveVotes = canReceiveVotes; // } // } // else // { // if (defaultCanVote != person.CanVote || defaultCanReceiveVotes != person.CanReceiveVotes) // { // personSaver(DbAction.Attach, person); // person.CanVote = defaultCanVote; // person.CanReceiveVotes = defaultCanReceiveVotes; // changesMade = true; // } // } if (changesMade) { // personSaver(DbAction.Save, person); Db.SaveChanges(); } } hub.StatusUpdate("Reviewed {0} people".FilledWith(numDone)); }
/// <summary> /// Ensure the flags match the Guid /// </summary> /// <param name="people"></param> /// <param name="hub"></param> /// <param name="personSaver"></param> public void EnsureFlagsAreRight(List <Person> people, IStatusUpdateHub hub, Action <DbAction, Person> personSaver) { hub.StatusUpdate("Reviewing people", true); var currentElectionGuid = UserSession.CurrentElectionGuid; var numDone = 0; foreach (var person in people) { var changesMade = false; var unknownIneligibleGuid = false; numDone++; if (numDone % 10 == 0) { hub.StatusUpdate("Reviewed {0} people".FilledWith(numDone), true); } if (currentElectionGuid != person.ElectionGuid) { hub.StatusUpdate("Reviewed {0} people".FilledWith(numDone)); hub.StatusUpdate("Found unexpected person. Please review. Name: " + person.C_FullNameFL); } if (person.IneligibleReasonGuid.HasValue) { var reason = IneligibleReasonEnum.Get(person.IneligibleReasonGuid); if (reason == null) { unknownIneligibleGuid = true; } else { var canVote = reason.CanVote; var canReceiveVotes = reason.CanReceiveVotes; if (canVote != person.CanVote || canReceiveVotes != person.CanReceiveVotes) { personSaver(DbAction.Attach, person); person.CanVote = canVote; person.CanReceiveVotes = canReceiveVotes; changesMade = true; } } } if (unknownIneligibleGuid) { personSaver(DbAction.Attach, person); person.IneligibleReasonGuid = IneligibleReasonEnum.Ineligible_Other; hub.StatusUpdate("Reviewed {0} people".FilledWith(numDone)); hub.StatusUpdate("Found unknown ineligible reason. Set to Unknown. Name: " + person.C_FullNameFL); changesMade = true; } if (changesMade) { personSaver(DbAction.Save, person); } } hub.StatusUpdate("Reviewed {0} people".FilledWith(numDone)); }